打开文件后设置二进制模式

时间:2013-10-08 08:24:27

标签: c

我的功能

void myFunction (FILE *f);

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

我该怎么做?

1 个答案:

答案 0 :(得分: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函数名称,但我不认为它会变得漂亮。