与将输出写入到文件中的C++

问题描述:

我写在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

要附加到的文件有一个BOM标记,指示它是UTF-16编码的。使用不编码文件的编辑器重新创建文件,或使用程序从头开始编写文件。

这是因为您没有指定文本编码,并且在没有显式编码标记的情况下,Windows只是猜测。这个最着名的例子是Bush Hid The Facts