在线文档教程
C++
本土化 | Localizations

std::wstring_convert::wstring_convert

STD::wstring[医]转换::wstring[医]转换

explicit wstring_convert( Codecvt* pcvt = new Codecvt (1)
wstring_convert( Codecvt* pcvt, state_type state(2)
explicit wstring_convert( const byte_string& byte_err, const wide_string& wide_err = wide_string() (3)
wstring_convert(const std::wstring_convert&) = delete;(4)(since C++14)

1%29构造wstring_convert使用Shift状态和错误字符串的默认值使用指定的转换面初始化。

2%29构造wstring_convert对象具有指定的转换面和指定的Shift状态,使用错误字符串的默认构造值。

3%29构造wstring_convert具有指定错误字符串的new Codecvt作为转换面和默认构造的state_type作为换档状态。

4%29复制构造函数被删除,wstring[医]转换不是CopyConstructible

参数

pcvt-pointer to the conversion facet of type Codecvt (behavior is undefined if this pointer is null)
state-initial value of the conversion shift state
byte_err-narrow string to display on errors
wide_err-wide string to display on errors

二次

#include <locale> #include <utility> #include <codecvt> // utility wrapper to adapt locale-bound facets for wstring/wbuffer convert template<class Facet> struct deletable_facet : Facet { using Facet::Facet; // inherit constructors ~deletable_facet() {} }; int main() { // UTF-16le / UCS4 conversion std::wstring_convert< std::codecvt_utf16<char32_t, 0x10ffff, std::little_endian> > u16to32; // UTF-8 / wide string conversion with custom messages std::wstring_convert<std::codecvt_utf8<wchar_t>> u8towide("Error!", L"Error!" // GB18030 / wide string conversion facet typedef deletable_facet<std::codecvt_byname<wchar_t, char, std::mbstate_t>> F; std::wstring_convert<F> gbtowide(new F("zh_CN.gb18030") }

二次

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/locale/wstring[医]转换/wstring[医]转换