0

私がこのように正確にコーディングすると:

   setlocale(LC_ALL,"");
   wchar_t myString2[] = { 0x0061, 0x2660, 0x2663, 0x2665, 0x2666, 0x0000 };
   fd = _wfopen(myString2, L"w");

また

   fd = _wfopen(myString2, L"w, ccs=UTF-16");

結果は私が期待するものではありません。想定: a♠♣♥♦ ですが、エクスプローラーには a が表示され、次に 4 つの小さな四角が表示されます。ただし、エクスプローラーでファイルの名前を変更してからファイル名をコピーすると、エディターに正しく挿入されます。そのような文字を表示するファイル名を入力したり、たとえば漢字をエディターにコピーして貼り付けたりすると、エディターはファイル名に小さな四角形を表示します。-fexec-charset=xxxx で実験しても、望ましい結果が得られません。コピー アンド ペーストの実験の結果を考えると、非常にばかげたことが起こっていると思います。これが本当なら、解決策はばかばかしいほど単純なはずです...

システム: Win XP、Mingw 20120426、Ansi-C - したがって、STLport は必要ありません。

4

1 に答える 1

1

これは単なるフォントの問題です。ファイル名に含まれるグリフに適したフォントを選択する点で、エディタの方が明らかに賢いようです。Windows 7 では、Far (Consolas を使用) と Explorer (Segoe UI を使用) の両方で、ファイル名が正しく表示される問題はありません。

ここに画像の説明を入力 ここに画像の説明を入力

しかし、前述のとおり、データは正しいです。それは単なる表示上の問題です。

于 2012-07-24T13:50:03.643 に答える