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

我的功能

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函数名称,但我不认为它会变得漂亮.

点赞