文字列と幅の広い文字列に関連する多くの質問があることがわかります。しかし、私が探している情報を提供してくれる人はいないので、新しい質問を投稿しています。
私はこのコードを持っています...
std::string myName("vikrant");
std::cout<<myName<<std::endl;
std::wstring myNameHindi = L"मुरुगन";
std::wcout<<myNameHindi<<"-----"<<myNameHindi.size()<<std::endl;
std::wcout<<L"मुरुगन"<<std::endl;
std::string myNameHindiS = "मुरुगन";
std::cout<<myNameHindiS<<"-----"<<myNameHindiS.size()<<std::endl;
RHELボックスでこのコードをコンパイルして実行すると(...(ssh経由で接続され、gcc 4.1.2を実行)、このo/pが表示されます(中央の2行が正しく印刷されないことに注意してください)
vikrant
.A0A(-----6
.A0A(
मुरुगन-----18
私のAppleラップトップとFreeBSD(ssh経由)ボックスの1つでは、w_*コードからo/pを取得できません。最初と最後の cout を実行するだけです vikrant मुरुगन-----18
私の理解では、指定されていない場合、これらの文字列は UTF 8 として扱われ、string で処理できる場合は wstring も処理されます。そのアプローチに何か問題がありますか?アドオンに関するいくつかの質問は... 単なる表示上の問題ですか? または wstring は Linux では信頼できませんか? 追加情報も役立つ場合があります。