c/c++中txt文件读写换行怎么实现
1个回答
展开全部
"\r\n"其实是回车和换行两个字符
"\n"是
new
line,换行。
"\r"是
carriage
return,回车。
在mac系统中的文本换行只用"\r",在unix系统中只用"\n",在我们最常用的windows系统中是"\r\n"。
楼主的写法会受到程序的字符集影响。如果是mbcs字符集中,"\n"就可以进行文本换行,"\r\n"在某些文本编辑器中会转换成两个换行符。
windows自带的记事本对于换行符的识别能力很弱,你用程序写入"\r\n"进行换行,但直接在记事本中回车就只添加了"\n",再次打开时很容易出错的。
解决方法:
建议你用mfc的cstring类存储字符串,并在写入时用str=_t("test.\n");的写法。对文本文件的写入用cstdiofile类的writestring函数,它可以实现对不同字符集的回车转换。
如果程序字符集是unicode的话,别忘记在文本文件头部加入bom头。具体请参阅msdn
"\n"是
new
line,换行。
"\r"是
carriage
return,回车。
在mac系统中的文本换行只用"\r",在unix系统中只用"\n",在我们最常用的windows系统中是"\r\n"。
楼主的写法会受到程序的字符集影响。如果是mbcs字符集中,"\n"就可以进行文本换行,"\r\n"在某些文本编辑器中会转换成两个换行符。
windows自带的记事本对于换行符的识别能力很弱,你用程序写入"\r\n"进行换行,但直接在记事本中回车就只添加了"\n",再次打开时很容易出错的。
解决方法:
建议你用mfc的cstring类存储字符串,并在写入时用str=_t("test.\n");的写法。对文本文件的写入用cstdiofile类的writestring函数,它可以实现对不同字符集的回车转换。
如果程序字符集是unicode的话,别忘记在文本文件头部加入bom头。具体请参阅msdn
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询