7

Unicode で構築されたコンソール アプリケーション (C++ および Visual Studio 2008 を使用) からこの単純な出力を行っています。このコードは、Windows で実行することを目的としています。

_tprintf(L"Some sample string\n");

すべて正常に動作します。しかし、そこに非ASCII文字を追加すると:

_tprintf(L"Some sample € string\n");

コンソールに出力されるのは、その文字までのすべてです。

いくつかのサンプル

ここで何が間違っていますか?

4

1 に答える 1

8

デフォルトでは、Windowsコンソールはワイド文字を処理しません。おそらく、その機能を有効にする最も簡単な方法は、次のコマンドを呼び出すこと_setmodeです。

_setmode(_fileno(stdout), _O_WTEXT); 

必要なインクルード、使用例、およびその他の使用可能なモードについては、MSDNを参照してください。

于 2013-03-16T14:07:47.470 に答える