岛国萝莉做的电影网站,深圳网站建设公司推荐乐云seo,asp网站设计要求,app开发企业本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析#xff0c;以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 平面类别
表示系统提供的具名本地环境的 std::numpunct
std::numpunct_byn…本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 平面类别
表示系统提供的具名本地环境的 std::numpunct
std::numpunct_byname template class CharT class numpunct_byname : public std::numpunctCharT;
std::numpunct_byname 是 std::numpunct 平面它封装在其构造时指定的 locale 的数值标点偏好。
标准库提供二个特化 定义于头文件 locale std::numpunct_bynamechar窄字符 I/O 的本地环境限定 std::numpunct 平面std::numpunct_bynamewchar_t宽字符 I/O 的本地环境限定 std::numpunct 平面
成员类型
成员类型定义char_typeCharTstring_typestd::basic_stringCharT
成员函数 (构造函数) 构造新的 numpunct_byname 平面 (公开成员函数) (析构函数) 析构 numpunct_byname 平面 (受保护成员函数)
std::numpunct_byname::numpunct_byname explicit numpunct_byname( const char* name, std::size_t refs 0 ); explicit numpunct_byname( const std::string name, std::size_t refs 0 ); (C11 起)
为名为 name 的本地环境构造新的 std::numpunct_byname 平面。
refs 用于资源管理在销毁最后一个保有平面的 std::locale 对象时若 refs 0 则实现销毁平面对象。否则不销毁对象。
参数
name-本地环境的名称refs-链接到该平面的引用数
std::numpunct_byname::~numpunct_byname protected: ~numpunct_byname();
销毁平面。
继承自 std::numpunct
成员类型
成员类型定义char_typecharTstring_typestd::basic_stringcharT
成员函数 decimal_point 调用 do_decimal_point (std::numpunctCharT 的公开成员函数) thousands_sep 调用 do_thousands_sep (std::numpunctCharT 的公开成员函数) grouping 调用 do_grouping (std::numpunctCharT 的公开成员函数) truenamefalsename 调用 do_truename 或 do_falsename (std::numpunctCharT 的公开成员函数)
受保护成员函数 do_decimal_point [虚] 提供用作小数点的字符 (std::numpunctCharT 的虚受保护成员函数) do_thousands_sep [虚] 提供用作千分隔符的字符 (std::numpunctCharT 的虚受保护成员函数) do_grouping [虚] 提供一对千分隔符之间的位数 (std::numpunctCharT 的虚受保护成员函数) do_truenamedo_falsename [虚] 提供用作布尔 true 和 false 名称的字符串 (std::numpunctCharT 的虚受保护成员函数)
成员对象 static std::locale::id id locale 的 id (公开成员对象) 调用示例 windows
#include iostream
#include sstream
#include locale
#include iomanip
#include vector
#include algorithm
#include iterator
#include exception
#include Windows.hstd::vectorstd::wstring locals;BOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam)
{locals.push_back(pStr);return TRUE;
}std::string stows(const std::wstring ws)
{std::string curLocale setlocale(LC_ALL, NULL); // curLocale C;setlocale(LC_ALL, chs);const wchar_t* _Source ws.c_str();size_t _Dsize 2 * ws.size() 1;char *_Dest new char[_Dsize];memset(_Dest, 0, _Dsize);wcstombs(_Dest, _Source, _Dsize);std::string result _Dest;delete[]_Dest;setlocale(LC_ALL, curLocale.c_str());return result;
}struct numpunct_byname_my : std::numpunct_bynamechar
{explicit numpunct_byname_my(const char *_Locname, size_t _Refs 0): numpunct_byname(_Locname, _Refs){// construct for named locale}explicit numpunct_byname_my(const std::string _Str, size_t _Refs 0): numpunct_byname(_Str.c_str(), _Refs){// construct for named locale}//提供用作千分隔符的字符char_type do_thousands_sep() const override{return ,;}//提供二个千分隔符间的位数string_type do_grouping() const override{return \003;}//提供用作小数点的字符char_type do_decimal_point() const override{return .;}
};int main()
{std::cout default locale: std::boolalpha true , false std::endl;EnumSystemLocalesEx(MyFuncLocaleEx, LOCALE_ALTERNATE_SORTS, NULL, NULL);for (std::vectorstd::wstring::const_iterator str locals.begin();str ! locals.end(); str){if (stows(*str) x-IV_mathan){continue;}std::locale locale(stows(*str));std::cout.imbue(locale);std::cout locale.name() ;std::cout locale with modified numpunct: std::endl std::boolalpha do_truename: true std::endl do_falsename: false std::endl;}return 0;
}
输出
default locale: true, false
de-DE_phoneb locale with modified numpunct:
do_truename: true
do_falsename: false
es-ES_tradnl locale with modified numpunct:
do_truename: true
do_falsename: false
hu-HU_technl locale with modified numpunct:
do_truename: true
do_falsename: false
ja-JP_radstr locale with modified numpunct:
do_truename: true
do_falsename: false
ka-GE_modern locale with modified numpunct:
do_truename: true
do_falsename: false
zh-CN_phoneb locale with modified numpunct:
do_truename: true
do_falsename: false
zh-CN_stroke locale with modified numpunct:
do_truename: true
do_falsename: false
zh-HK_radstr locale with modified numpunct:
do_truename: true
do_falsename: false
zh-MO_radstr locale with modified numpunct:
do_truename: true
do_falsename: false
zh-MO_stroke locale with modified numpunct:
do_truename: true
do_falsename: false
zh-SG_phoneb locale with modified numpunct:
do_truename: true
do_falsename: false
zh-SG_stroke locale with modified numpunct:
do_truename: true
do_falsename: false
zh-TW_pronun locale with modified numpunct:
do_truename: true
do_falsename: false
zh-TW_radstr locale with modified numpunct:
do_truename: true
do_falsename: false