相关文章推荐
宽字符元素类型。

类模板描述一个对象,该对象用于控制类 std::basic_string<Elem> 的宽字符串对象和类 std::basic_string<char> (也称为 std::string )的字节字符串对象之间的转换。 类模板将类型 wide_string byte_string 定义为这两种类型的同义词。 一个 Elem 值序列(存储在 wide_string 对象中)和多字节序列(存储在 byte_string 对象中)之间的转换由类 Codecvt<Elem, char, std::mbstate_t> 的对象执行,这符合标准代码转换方面 std::codecvt<Elem, char, std::mbstate_t> 的要求。

此类模板的对象会存储:

  • 发生错误时显示的字节字符串

  • 发生错误时显示的宽字符串

  • 指向分配的转换对象(在销毁 wbuffer_convert 对象时释放)的指针

  • state_type 类型的转换状态对象

    wide_string from_bytes(char Byte);
    wide_string from_bytes(const char* ptr);
    wide_string from_bytes(const byte_string& Bstr);
    wide_string from_bytes(const char* first, const char* last);
    要转换的单元素字节序列。

    要转换的以 null 结尾的 C 样式字符序列。

    要转换的 byte_string

    first
    要转换的字符范围中的第一个字符。

    要转换的字符范围中的最后一个字符。

    由转换生成的宽字符串对象。

    如果转换状态对象不是使用显式值构造,请在转换开始之前将它设置为其默认值(初始转换状态)。 否则保持不变。

    成功转换的输入元素的数量存储在转换计数对象中。 如果未发生转换错误,则该成员函数返回转换后的宽字符串。 否则,如果对象是使用宽字符串错误消息的初始值设定项构造的,则该成员函数返回宽字符串错误消息对象。 否则,成员函数将引发 range_error 类的对象。

    wstring_convert::int_type

    表示整数的类型。

    typedef typename wide_string::traits_type::int_type int_type;
    

    该类型是 wide_string::traits_type::int_type 的同义词。

    wstring_convert::state

    返回表示转换状态的对象。

    state_type state() const;
    

    转换状态对象,表示转换的状态。

    wstring_convert::state_type

    表示转换状态的类型。

    typedef typename Codecvt::state_type state_type;
    

    此类型描述一个可以表示转换状态的对象。 该类型是 Codecvt::state_type 的同义词。

    wstring_convert::to_bytes

    将宽字符串转换为字节字符串。

    byte_string to_bytes(Elem Char);
    byte_string to_bytes(const Elem* Wptr);
    byte_string to_bytes(const wide_string& Wstr);
    byte_string to_bytes(const Elem* first, const Elem* last);
    要转换的宽字符。

    要转换的以 null 结尾的 C 样式序列(从 wptr 开始)。

    要转换的 wide_string

    first
    要转换的元素范围内的第一个元素。

    要转换的元素范围内的最后一个元素。

    如果转换状态对象不是使用显式值构造,请在转换开始之前将它设置为其默认值(初始转换状态)。 否则保持不变。

    成功转换的输入元素的数量存储在转换计数对象中。 如果未发生转换错误,则成员函数返回转换后的字节字符串。 否则,如果对象是使用字节字符串错误消息的初始值设定项构造的,则成员函数返回字节字符串错误消息对象。 否则,成员函数将引发 range_error 类的对象。

    wstring_convert::wide_string

    表示宽字符串的类型。

    typedef std::basic_string<Elem> wide_string;
    

    该类型是 std::basic_string<Elem> 的同义词。

    wstring_convert::wstring_convert

    构造 wstring_convert 类型的对象。

    wstring_convert(Codecvt *Pcvt = new Codecvt);
    wstring_convert(Codecvt *Pcvt, state_type _State);
    wstring_convert(const byte_string& _Berr, const wide_string& Werr = wide_string());
    

    *Pcvt
    用于执行转换的 Codecvt 类型的对象。

    _State
    表示转换状态的 state_type 类型的对象。

    _Berr
    用于在发生错误时显示的 byte_string

    用于在发生错误时显示的 wide_string

    第一个构造函数将存储转换对象中的 Pcvt_arg

  •  
    推荐文章