0

追加モードでC++のファイルに書き込んでいます。同じように使用しているプログラムは、次のとおりです。

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

今、出力ファイルに出力されている出力は、私が理解できない何かがらくたです...

  OUTPUT:
  牐湩㩴

私がどこで間違っているのか教えてください??? 私はLinuxに取り組んでいます。

4

2 に答える 2

1

追加するファイルには、UTF-16でエンコードされていることを示すBOMマーカーがあります。ファイルをエンコードしないエディターを使用してファイルを再作成するか、プログラムを使用してファイルを最初から作成します。

于 2012-07-06T03:36:56.340 に答える
1

これは、テキストエンコーディングを指定しておらず、明示的なエンコーディングマーキングがない場合、Windowsが推測するためです。これの最も有名な例はブッシュ隠された事実です

于 2012-07-06T03:37:08.347 に答える