C I/O流总览

来源:互联网 发布:linux环境变量生效 编辑:程序博客网 时间:2024/05/21 15:42





补充:C中文本文件和二进制文件的读写差别:

C的文本方读写与二进制读写的差别仅仅体现在回车换行符的处理上.文本方式写时,每遇到一个''/n''(0AH换行符),它将其换成''/r /n''(0D0AH,回车换行),然后再写入文件;当文本读取时,它每遇到一个''/r/n''将其反变化为''/n'',然后送到读缓冲区.正因为文 本方式有''/n''--''/r/n''之间的转换,其存在转换耗时.二进制读写时,其不存在任何转换,直接将写缓冲区中数据写入文件.

     在window中文本文件和二进制文件在处理回车换行符时是有区别的:文本方式写时,每遇到一个'\n'换行符,将其换成'\r\n'回车换行,然后再写入文件;当文本读取时,它每遇到一个'\r\n'回车换行,会将其反变化为'\n'换行。而二进制文件没有这样的转换处理。但在Linux中文本文件和二进制文件的处理上二者没有区别,例如在Linux中用fopen("a.txt","r")(文本方式打开)和fopen("a.txt","rb")(二进制方式打开)两个函数是一样的。


二进制文件读写速度快,但不易阅读,可移植性差(不同机器上存储数据方式不同,例如16位机和32位机:int 2字节和4字节)。

原创粉丝点击