日期:2014-05-16  浏览次数:20732 次

linux和windows写文件一些差异
1. 写文件路径的时候,/分隔符号在linux和windows下都支持,\分隔符windows下支持,而linux不支持.
2. 在写文件操作的时候,写入'\n'字符在windows和linux的处理是存在差异,今天针对'\n'的处理做了一些测试:
LINUX WINDOWS
写文件 文本打开或者二进制打开文件,都不会对'\n'字符进行处理,如写入"hello world\n",实际存到文件中的内容就是"hello world\n". 二进制打开文件,不会对写入'\n'字符进行处理,同linux;但是当文本打开文件,对写入的'\n'会替换成"\r\n".
读文件 文本打开或者二进制打开文件,当用getline(buffer,NUM,'\n')获取行时,不会进行处理,直接把'\n'前面的所有字符获取出来. 二进制打开文件同linux,文本打开文件时,会把'n\'前面的'\r'去掉


从上表的分析结果可以知道,为了使在linux和windows下兼容,打开文件进行写操作的时候,需要二进制模式打开,从而使得存入文件的内容跟实际一致,避免windows下对'\n'字符进行转换.