caf*_*caf 70
您应该"r"用于打开文本文件.不同的操作系统存储文本的方式略有不同,这将执行正确的翻译,因此您无需了解本地操作系统的特性.例如,"\n"无论代码在何处运行,您都会知道换行符总是显示为简单换行符.
"rb"如果您打开非文本文件,则应该使用,因为在这种情况下,翻译不合适.
Alo*_*hal 28
在Linux和Unix在一般情况下,"r"和"rb"是相同的.更具体地说,FILE通过fopen()文本模式和二进制模式获得的指针在Unix上的行为方式相同.在Windows上,通常,在使用多个字符表示" 换行符 "的系统上,以文本模式打开的文件就像所有这些字符只是一个字符一样'\n'.
如果你想可移植性读/任何系统,使用写文本文件"r",并"w"在fopen().这将保证文件的正确写入和读取.如果您要打开二进制文件,请使用"rb"和"wb",以便不幸的换行符不会弄乱您的数据.
请注意,底层系统为您执行换行转换的结果是您无法使用fseek(file,0,SEEK_END)确定可以从文件中读取的字节数.
最后,看看文本和二进制I/O有什么区别?在comp.lang.c常见问题解答.
| 归档时间: |
|
| 查看次数: |
119970 次 |
| 最近记录: |