一、c/c++文件操作资料链接
https://www.cnblogs.com/batman425/p/3179520.html [C++ ofstream和ifstream详细用法]
https://blog.csdn.net/yiruirui0507/article/details/6041155 [C++编程中对缓冲区的理解]
https://www.cnblogs.com/zhanggaofeng/p/5160082.html [c语言文件操作]
二、c 语言二进制和文本文件操作的区别
-
linux系统下c 语言进行文件操作
linux系统下,一切皆文件,只有一种文件系统,因此二进制方式和文本方式(ASCII码方式)不存在区别。 -
windows系统下c 语言进行文件操作
a.以文本方式打开文件,若将数据写入文件,如果遇到换行符’\n’(ASII 值为10,0A),则会转换为回车—换行’\r\n’(ASCII值为13,10,0D0A)存入到文件中,同样读取的时候,若遇到回车—换行,即连续的ASCII值13,10,则自动转换为换行符。 而以二进制方式打开文件时,不会进行这样的处理。
b.如果以文本方式打开文件时,若读取到ASCII码为26(^Z)的字符即0x1a,则停止对文件的读取,会默认为文件已结束,而以二进制方式读取时不会发生这样的情况。由于正常情况下我们手动编辑完成的文件是不可能出现ASCII码为26的字符,所以可以用feof函数去检测文件是否结束。
鉴于以上区别,知道文件类型时使用相对应的方式对文件进行打开。文件类型未知,使用二进制方式打开文件。