Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译。发现Linux上文件中的每行代码末尾都跟着^M这个符号。
为什么同一份文件在windows上和Linux上显示的不一样呢?原来是由于DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致造成的。
对于回车符的定义:
windows:0D0A
unixlinux: 0A
MAC: 0D
Linux下专门有两个工具可以互换Windows格式和Linux格式,分别是dos2unix和unix2dos
那么,如何去除Linux下文件中每行内容末尾的^M,就可以使用如下方法:
终端上执行命令 dos2unix filename