我们可以在没有fopen的情况下在C中打开二进制文件吗?

Jid*_*dey 0 c binary fopen

在C编程中,我们可以在没有fopen()的情况下打开二进制文件,只能打开吗?因为我需要文件描述符,而不是文件流.

谢谢

mof*_*tje 5

是的,使用

int file;
file = open("yourfile.txt", O_RDONLY | O_BINARY, 0); //change flags if necessary
Run Code Online (Sandbox Code Playgroud)

使用这些包括:

#include <fcntl.h>
#include <sys/stat.h> //for the open() permission flags
Run Code Online (Sandbox Code Playgroud)

file变量用于引用该文件.如果不成功,open()返回-1.

在此处查看其他文件处理函数

  • @RomanGrout:O_BINARY是Windows的东西.如果你想在你的代码中支持它,你可以`#define`它为0如果它没有定义并包含在`open`选项中.POSIX保证二进制和文本模式之间没有区别. (3认同)
  • @RomanGrout 没有“O_BINARY”标志,因为“open()”不关心行尾字符,因此“O_BINARY”标志没有意义。 (2认同)