prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 12.38

Q我该如何正确读取二进制数据文件?我偶尔会看到0x0a0x0d值被损坏,如果数据包含值0x1a.


A当您读取二进制数据文件时,您应该指定"rb"模式调用fopen,以确保不会发生文本文件转换。同样,在写入二进制数据文件时,请使用"wb"。(在像 Unix 这样的操作系统上,它们不区分文本文件和二进制文件,"b"可能不是必需的,但无害。)

请注意,文本/二进制的区别是在打开文件时确定的:一旦文件被打开,无论您使用哪种 I/O 调用都不会有影响。另请参阅问题 12.3712.4012.4220.5

参考文献:ISO Sec. 7.9.5.3
H&S Sec. 15.2.1 p. 348


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管