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