文件的操作模式

加b和不加b的文件操作模式:

对于文本文件,加b时有两种情况:一、写的时候将’\n’->’\r\n’;二、读的时候将’\r\n’->’\n’。sscanf、sprintf、fgetc、fputc、fgets、fputs用于文本文件。

对于二进制文件(即存取int,float,short等非字符类型的数据)的读写使用带b的操作模式。fread、fwrite用于存取二进制文件。

最好什么函数处理什么文件,若只是文件的拷贝,不重视显示,都可以用二进制的方式读写,因为只要保证内容不便即可。

其实要说二进制文件和文本文件的区别主要在于二进制文件存取的是数据的二进制码,文本文件存取的是ascii码。fread、fwrite可以读文本文件,sscanf、sprintf、fgetc、fputc、fgets、fputs不可以读二进制文件,有’\n’的时候不会自动添加’\r’(只在windows中注意,其他平台无此差别)。

rw模式可以对文件进行读写操作,但是不能改变文件的大小,r+、w+可以进行读写操作且能改变文本的大小。

加b的模式是为windows准备的,在其他的平台用不上。

你可能感兴趣的:(文件的操作模式)