4

我的功能

void myFunction (FILE *f);

获取一个已经打开的文件。我需要写一个文字CR+LF,所以我想将f' 模式设置为二进制。

我怎样才能做到这一点?

4

1 回答 1

2

根据评论,也许以下功能可能有用(未经测试!):

#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地使用函数名,但我认为它永远不会漂亮。

于 2013-10-08T09:35:12.127 回答