wstring を string に変換する
wstring を文字列に変換するには、複数の方法があります。 1 つのオプションは、C 11 で導入された std::wstring_convert 関数を使用することです。これは、2 つの型の間で変換する簡単かつ効率的な方法を提供します。 std::wstring_convert を使用するには、
#include <locale> #include <codecvt> std::wstring wstring_to_convert; // Setup the converter using convert_type = std::codecvt_utf8<wchar_t>; std::wstring_convert<convert_type, wchar_t> converter; // Use the converter std::string converted_string = converter.to_bytes(wstring_to_convert);
上記のコードでは、まず wstring_to_convert という wstring オブジェクトを作成します。次に、std::codecvt_utf8
wstring を string に変換する別のオプションは、std::stringstream クラスを使用することです。これを行うには、
#include <sstream> std::wstring wstring_to_convert; std::stringstream ss; ss << wstring_to_convert.c_str(); std::string converted_string = ss.str();
この例では、まず std::stringstream オブジェクトを作成し、<< を使用します。演算子を使用して、wstring オブジェクトの内容を書き込みます。 std::stringstream の str() メソッドを使用して、変換された文字列を取得できます。
ただし、std::stringstream が、wstring と string の間で変換する最も効率的な方法であるとは限らないことに注意することが重要です。特に大量のデータの場合。最適なパフォーマンスを得るには、通常、std::wstring_convert またはその他の特殊な変換関数を使用することをお勧めします。
以上がC で wstring を string に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。