Xcode プロジェクトではstd::cout
、コンソールへの書き込みに使用すると、出力は問題ありません。
ただし、使用するstd::wcout
と出力が得られません。
私はこれが C++ の厄介な問題であることを知っており、Xcode のケースで特定の解決策を見つけようとグーグルで検索してきました。提案されたことが機能することがわかったいくつかのことは次のとおりです。
std::cout.imbue( std::locale("") );
と
std::setlocale(LC_ALL, "");
これらのどちらも違いはありません。ファセット API を勉強してコンソールに書き込めるようになるまであと 2 週間を費やすことを諦める前に、ここで尊敬する聴衆に確認してみようと思いました。
[アップデート]
私が抱えていた問題の理由は、実際には、印刷しようとしている文字列の特定のエンコーディングに関係していると思います。
文字列リテラルのみを送信すると、 を使用しL"my string" syntax
て機能します! これは UTF32 (リトル エンディアン エンコーディング) を使用しているようです。
ただし、これを NSUTF32BigEndianStringEncoding エンコーディングを使用して Objective C++ コードから渡された文字列と混ぜています。問題を引き起こしているのは、このエンコーディングの組み合わせです。
この件は終了したと考えてよいと思います。読んでくれてありがとう。