函数fopen是一个标准c函数,其功能是打开一个文件,之后便可以进行读或写的操作.其原型是这样的:
FILE *fopen( const char *filename, const char *mode );
第一个参数是要打开文件的名字(路径),第二个参数是打开文件所用的模式.
对于模式参数的w和wb,r和rb,w是以文本的形式进行写入,而wb是以二进制模式进行写入.
对于换行符数据0x0A,如果这么写:fp = fopen(str,"wb");可以得到正常数据0x0A,而fp =
fopen(str,"w");遇到0x0A时,就会在其前面多一个0x0D.
如果有参数b,是以二进制方式打开,这种方式不会进行”回车符”和”换行符”的转换.而如果没有b,即单以w为参数的话,系统就把换行符0A转换为0D0A,因为windows是以0D0A为换行符的.
总结:打开模式中含有b,则要写入的或要读取的数据不会进行相应的转换,否则进行转换。
本文详细解析了C语言中fopen函数的使用方法,特别是关于模式参数(如w、wb、r、rb等)与文件换行符的处理机制。解释了在不同模式下,如何正确地处理文本和二进制文件的读写操作,以及在写入文本文件时如何避免换行符转换导致的问题。
2454

被折叠的 条评论
为什么被折叠?



