Namespaces
Variants

std:: wstring_convert

From cppreference.net
ヘッダーで定義 <locale>
template <

class Codecvt,
class Elem = wchar_t ,
class Wide_alloc = std:: allocator < Elem > ,
class Byte_alloc = std:: allocator < char >

> class wstring_convert ;
(C++11 以降)
(C++17 で非推奨)
(C++26 で削除)

クラステンプレート std::wstring_convert は、バイト文字列 std::string とワイド文字列 std:: basic_string < Elem > の間の変換を実行します。個別のコード変換ファセット Codecvt を使用します。 std::wstring_convert は変換ファセットの所有権を仮定し、ロケールによって管理されるファセットを使用することはできません。

std::wstring_convert で使用するのに適した標準ファセットは、 UTF-8/UCS-2およびUTF-8/UCS-4変換用の std::codecvt_utf8 と、 UTF-8/UTF-16変換用の std::codecvt_utf8_utf16 です。

目次

ネスト型

定義
byte_string std:: basic_string < char , std:: char_traits < char > , Byte_alloc >
wide_string std:: basic_string < Elem, std:: char_traits < Elem > , Wide_alloc >
state_type typename Codecvt :: state_type
int_type typename wide_string :: traits_type :: int_type

データメンバ

メンバー 説明
byte_string byte_err_string エラー時に表示するバイト文字列
( 説明専用メンバーオブジェクト* )
wide_string wide_err_string エラー時に表示するワイド文字列
( 説明専用メンバーオブジェクト* )
Codecvt * cvtptr 割り当てられた変換オブジェクトへのポインタ
( 説明専用メンバーオブジェクト* )
state_type cvtstate 変換状態オブジェクト
( 説明専用メンバーオブジェクト* )
std:: size_t cvtcount 変換カウント
( 説明専用メンバーオブジェクト* )

メンバー関数

新しい wstring_convert を構築する
(public member function)
operator=
コピー代入演算子は削除されている
(public member function)
wstring_convert とその変換ファセットを破棄する
(public member function)
バイト文字列をワイド文字列に変換する
(public member function)
ワイド文字列をバイト文字列に変換する
(public member function)
正常に変換された文字数を返す
(public member function)
現在の変換状態を返す
(public member function)

関連項目

文字変換
ロケール定義マルチバイト
(UTF-8, GB18030)
UTF-8
UTF-16
UTF-16 mbrtoc16 / c16rtomb (C11のDR488付き)

codecvt < char16_t , char ,mbstate_t >
codecvt_utf8_utf16 < char16_t >
codecvt_utf8_utf16 < char32_t >
codecvt_utf8_utf16 < wchar_t >

該当なし
UCS-2 c16rtomb (C11のDR488なし) codecvt_utf8 < char16_t > codecvt_utf16 < char16_t >
UTF-32

mbrtoc32 / c32rtomb

codecvt < char32_t , char ,mbstate_t >
codecvt_utf8 < char32_t >

codecvt_utf16 < char32_t >

システム wchar_t :

UTF-32 (非Windows)
UCS-2 (Windows)

mbsrtowcs / wcsrtombs
use_facet < codecvt
< wchar_t , char ,mbstate_t >> ( locale )

codecvt_utf8 < wchar_t > codecvt_utf16 < wchar_t >
(C++11) (deprecated in C++17) (removed in C++26)
バイトストリームバッファとワイドストリームバッファ間の変換を実行する
(クラステンプレート)
(C++11) (deprecated in C++17) (removed in C++26)
UTF-8とUCS-2/UCS-4間の変換を実行する
(クラステンプレート)
(C++11) (deprecated in C++17) (removed in C++26)
UTF-8とUTF-16間の変換を実行する
(クラステンプレート)