我的功能
void myFunction (FILE *f);
获取一个已经打开的文件。我需要写一个文字CR+LF
,所以我想将f
' 模式设置为二进制。
我怎样才能做到这一点?
根据评论,也许以下功能可能有用(未经测试!):
#include <stdio.h>
#ifdef WIN32
#include <fcntl.h>
#include <io.h>
#endif
int SetBinary(FILE *pFile)
{
// set file mode to binary
#ifdef WIN32
return _setmode(_fileno(pFile), O_BINARY);
#else
return setmode(_fileno(pFile), O_BINARY);
#endif
}
它看起来很丑,所以也许你可以有条件#define
地使用函数名,但我认为它永远不会漂亮。