c - 写入和读取的数据在二进制文件中保持不变?

标签 c file binaryfiles

我正在阅读有关二进制文件和文本文件的内容,我遇到了这个:

二进制文件是字节的集合。在 C 中,一个字节和 一个字符是等价的。因此,二进制文件也是 称为字符流,但有两个必不可少的 差异。

首先是写入和读取的数据 保持不变,行与行之间没有分隔 不使用行尾字符。 NULL 和 end-of- 行字符没有特殊意义,被视为 就像任何其他数据字节一样。

“首先,写入和读取的数据保持不变”这行是什么意思?

最佳答案

这本书对比了写入二进制文件的过程和写入文本文件的过程。

当您将字节序列写入二进制文件时,这就是将存储在文件中的确切序列。当您读回该文件时,您会得到您写入其中的确切序列。

由于 API 中内置的用于从文本文件读取的空白处理,因此在文本模式下处理的文件不是这种情况。空格被视为文本分隔符,因此大多数 API 不会向您返回空格,从而“改变”文件中存储的确切字节序列的表示。

关于c - 写入和读取的数据在二进制文件中保持不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328094/

相关文章:

ios - 使用 Expo 构建二进制文件是否会压缩应用程序的大小?

C# 检查文件的二进制读取器结尾

c - 我想了解 '__attribute__((space(dma)));'的语法

C 编程更有效地使用大数组

file - ruby 中的临时图像文件

javascript - 使用 Express 从 NodeJS 服务器下载文件

c# - 如何在 ASP.NET + C# 中裁剪 mp3?

c++ - 需要在二进制模式下使用 T=unsigned char 在流上使用 noskipws 吗?

在 C 中正确比较字符串

c++ - C 多行宏问题 : why not use if(1){. ..} 而不是多行宏定义中的 do{...}while(0)