私がこのように正確にコーディングすると:
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 は必要ありません。