c - 在 C 中读取文本文件时,如何阻止 Windows C 库将 "\r\n"转换为 "\n"?

标签 c windows newline

我有一个普通的文本文件,行以普通的\r\n 结尾。但是,当使用 'open' 和 'read' 时,Windows 会将所有的\r\n 转换为\n。我知道这意味着我必须以二进制模式打开文件,但“打开”函数没有提供此选项,它只有只读、只写或读写。

这是代码:

int File_Size = ...; 
char* Buffer = (char*)malloc(File_Size);

int Handle = open(File_Path,O_RDONLY);
read(Handle,Buffer,File_Size);
close(Handle);

最佳答案

尝试使用 O_RDONLY|O_BINARY

关于c - 在 C 中读取文本文件时,如何阻止 Windows C 库将 "\r\n"转换为 "\n"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994895/

相关文章:

c++ - 将 vector 复制到剪贴板

java - 使用 MinGW C++ 编译 64 位静态库以用于 Java (JNI)

PHP 在使用 echo 显示存储在 mysql 中的文本时忽略换行符

c - 并行运行两个程序,每个程序都有无限循环

c - 减少 C 中套接字之间的时间传输

c - 互联网校验和中的位移位

C99 : cast double to struct?

windows - 如何在项目中启用 Visual Studio 2008 中的所有警告?

bash - 如何从 bash 函数中打印换行符

python - 在文本文件 Python 中写入时,将新行符号保留在字符串中