2009-07-13 130 views
1

我有一個源代碼文件,它以網頁中一些示例代碼的副本開始。 它是在Windows下創建和編輯的,並且沒有任何問題編譯。如何擺脫文本文件中的特殊字符? (* nix)

但在Mac上的我得到隱蔽的錯誤的負載,如:

../MyProgram.cpp:1: error: stray '\255' in program 
../MyProgram.cpp:1: error: stray '\254' in program 
../MyProgram.cpp:1: error: stray '#' in program 
../MyProgram.cpp:3:4: error: invalid preprocessing directive #i 
../MyProgram.cpp:5:4: error: invalid preprocessing directive #i 
../MyProgram.cpp:7:4: error: invalid preprocessing directive #i 
../MyProgram.cpp:23: error: missing terminating ' character 
../MyProgram.cpp:369:6: error: invalid preprocessing directive #i 
../MyProgram.cpp:371:8: error: invalid preprocessing directive #i 
../MyProgram.cpp:375:8: error: invalid preprocessing directive #e 
../MyProgram.cpp:381:8: error: invalid preprocessing directive #e 
../MyProgram.cpp:383:6: error: invalid preprocessing directive #e 
../MyProgram.cpp:385:8: error: invalid preprocessing directive #i 
../MyProgram.cpp:389:8: error: invalid preprocessing directive #e 
../MyProgram.cpp:1: error: 'i' does not name a type 
../MyProgram.cpp:53: error: 'V' does not name a type 
../MyProgram.cpp:75: error: 'v' does not name a type 
../MyProgram.cpp:157: error: 'l' does not name a type 
../MyProgram.cpp:169: error: 'l' does not name a type 
../MyProgram.cpp:187: error: 'i' does not name a type 
../MyProgram.cpp:197: error: 'v' does not name a type 

貌似問題是一些特殊字符。

如何使用* nix命令行剝離它們?

+0

在unix的許多發行版中,應該在/ usr/bin下有一個dos2unix實用程序。不確定的OSX有... – Alex 2009-07-13 18:10:37

+0

http://dos2unix.darwinports.com/ – Jon 2009-07-13 18:15:05

回答

9

在我看來,如果該文件被保存爲UTF-16。在文本編輯器中打開它並重新編碼爲UTF-8,如果運氣好的話,應該解決這個問題。

0

本來我只是說如何刪除\ 255 & \ 254個字符,但我同意評論,它是在unicode。 嘗試

iconv -f iso-8859-1 -t utf-8 infile > outfile 

iso-8859-1只是一個猜測。