私はコードを持っていました:
std::string st = "SomeText";
...
std::cout << st;
そしてそれはうまくいきました。しかし今、私のチームはwstring
に移行したいと考えています。だから私は試しました:
std::wstring st = "SomeText";
...
std::cout << st;
しかし、これは私にコンパイルエラーを与えました:
エラー1エラーC2664: 'std :: basic_string <_Elem、_Traits、_Ax> :: basic_string(const std :: basic_string <_Elem、_Traits、_Ax>&)':パラメーター1を 'const char [8]'から'const std :: basic_string <_Elem、_Traits、_Ax>&' D:...\TestModule1.cpp 28 1 TestModule1
Webを検索した後、次のように定義する必要があることを読みました。
std::wstring st = L"SomeText"; // Notice the "L"
...
std::cout << st;
これはコンパイルされたが"0000000000012342"
の代わりに "SomeText"
。
私は何を間違えていますか?
Wstringを表示するには、ワイドバージョンのcout-wcoutも必要です。
std::wstring st = L"SomeText";
...
std::wcout << st;
つかいます std::wcout
の代わりに std::cout
。
use std::wcout<<st
を使用してみてください。問題が解決します。
std::wstring st = "SomeText";
...
std::wcout << st;