|
|
1
4
在一些系统上,尤其是那些基于Unix的系统上,文本文件和二进制文件之间没有显著差异。在其他系统上,尤其是在Windows等行尾不是换行符的系统上,存在着重要的差异。 C标准定义了 §7.21.2 Streams :
而且 §7.21.3 Files :
基本上,二进制流是逐字读写的;内容没有解释。Unix上的所有文件都被有效地视为二进制文件。文本文件对它们有限制——行上没有尾随空格,除了换行符和水平制表符之外没有控制字符,最后一个字符必须是换行符。如果违反规则会发生什么取决于执行情况。 标准中未加引号的段落涉及宽字符流和字节流,以及流的方向和流何时变为方向等。 在不适用于二进制文件的文本文件中查找有一些规则。 |
|
|
2
2
POSIX (IEEE Std 1003.1-2017) 它的定义如下:
切身注意 the Line definition ;
... 这意味着不以换行符结尾的非空文件不适合作为文本文件。 非POSIX平台可能有不同的定义,或者根本没有正确的定义。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |