2012-07-06 65 views
0

我寫在C++中追加模式一個文件,該文件我使用相同的程序的問題是:與將輸出寫入到文件中的C++

#include <fstream> 
void main() 
{ 
ofstream f; 
f.open("f.txt", ios::app); 
f<<"\n Hello"; 
f.close(); 
} 

現在這是越來越印在輸出輸出文件是一些東西垃圾...我不明白:

OUTPUT: 
    牐湩㩴 

請幫我關於我要去哪裏錯??? 我正在linux上工作。

+1

這是因爲您需要首先將要輸出的文本轉換爲UTF-8。 – 2012-07-06 03:31:42

+0

http://www2.research.att.com/~bs/bs_faq2.html#void-main – chris 2012-07-06 03:34:04

+2

我認爲它說「ni hao ma」。 – jxh 2012-07-06 03:34:55

回答

1

要附加到的文件有一個BOM標記,指示它是UTF-16編碼的。使用不編碼文件的編輯器重新創建文件,或使用程序從頭開始編寫文件。

1

這是因爲您沒有指定文本編碼,並且在沒有顯式編碼標記的情況下,Windows只是猜測。這個最着名的例子是Bush Hid The Facts