windows和linux换行符的转换
最近又在折腾linux,我在windows写好代码,然后在linux下打开,结果出现了^M(一个字符,快捷键Ctrl+v+m)这样字符,很好奇,就百度了下,将结果记录下来。
windows下:换行符 \r\n
linux下: 换行符 \n
因此linux下的文本文档在windows下换行符会丢失,多行合并为一行。反过来,windows下的文本文档在linux下,\r将会显示为^M(低版本vi可以看到,高版本中看不到)。
所以,若.c或.cpp文档在windows系统和linux系统间传来传去,最好进行一些转换,以免发生一些莫名其妙的问题,今天尝试了两种方法,如下:
<1>使用vim将^M字符替换掉
切换到命令行模式,输入:%s/^M//g即可。
<2>使用dos2unix和unix2dos在两个系统间转换
linux下文本文档(三行)
windows下文本文档(变成了一行)