std::locale与boost::locale的学习
1. 什么是facet, locale
facet ['fæsɪt]的原意,是宝石切割出来的一个平面。
locale[ləʊˈkæl],表示本地化,
locale
the container that holds all the required information about a specific culture, such as number formatting patterns, date and time formatting, currency, case conversion etc.
而facet代表着locale中存放的某一种具体信息,比如字符转换、货币等等。
可以通过use_facet得到某个locale中的一个facet
1: std::ctype<char> const &ctype_facet = std::use_facet<std::ctype<char> >(some_locale);
2: char upper_a = ctype_facet.toupper('a');
也可以将某个locale浸透(imbue [ɪmˈbjuː])到某个stream中,使该stream按照该locale规定的本地化格式进行输出。
1: cout.imbue(std::locale("en_US.UTF-8"));
2: cout << 1345.45 << endl;
3: cout.imbue(std::locale("ru_RU.UTF-8"));
4: cout << 1345.45 << endl;
你也可以创建自己的std::locale::facet的派生类,用来建立自定义的本地化规则,然后将其安装到某个locale对象中。
boost::locale库就是通过这种方式扩展了std::locale库的内容。
转载于:https://www.cnblogs.com/long123king/p/3520275.html
std::locale与boost::locale的学习相关推荐
- boost库学习随记五 Boost.Locale 之字符转换 gbk utf8 big5 string wstring等
Boost.Locale是一个库,它提供高质量的本地化的设施在C + +的方式.它最初是设计的一部分CppCMS - C + +的Web框架的项目,然后促成了提升. Boost.Locale提供强大的 ...
- Boost.Locale 之字符转换 gbk utf8 big5 string wstring等
Boost.Locale是一个库,它提供高质量的本地化的设施在C + +的方式.它最初是设计的一部分CppCMS - C + +的Web框架的项目,然后促成了提升. Boost.Locale提供强大的 ...
- boost::locale::calendar用法的测试程序
boost::locale::calendar用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::calendar用法的测试程序 C++实现代码 #include < ...
- boost::locale::to_upper用法的测试程序
boost::locale::to_upper用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::to_upper用法的测试程序 C++实现代码 #include < ...
- boost::locale::utf8_codecvt用法的测试程序
boost::locale::utf8_codecvt用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::utf8_codecvt用法的测试程序 C++实现代码 #inc ...
- boost::locale::generator用法的测试程序
boost::locale::generator用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::generator用法的测试程序 C++实现代码 #include & ...
- 使用 std::shared_ptr 和 std::unique_ptr 测试 boost/pointer_cast.hpp
使用 std::shared_ptr 和 std::unique_ptr 测试 boost/pointer_cast.hpp 实现功能 C++实现代码 实现功能 使用 std::shared_ptr ...
- Boost:std ::bind与Boost的_1绑定的测试程序
Boost:std ::bind与Boost的_1绑定的测试程序 实现功能 C++实现代码 实现功能 boost::bind模块,std ::bind与Boost的_1绑定的测试程序 C++实现代码 ...
- Boost:使用std :: test进行boost:array的测试
Boost:使用std :: test进行boost:array的测试 实现功能 C++实现代码 实现功能 使用std :: test进行boost:array的测试 C++实现代码 #include ...
最新文章
- 微信js sdk动态引用
- 新站优化工作还有一点点补充内容!
- python读取目录_Python读取一个目录下所有目录和文件
- 从流量控制算法谈网络优化-TCP核心原理理解
- AppDomainManager后门的实现思路
- 现代软件工程讲义 12 绩效管理
- 一种SPA(单页面应用)架构
- httpclient 3.0初步研究
- 最新全国五级行政区划json文件下载链接 全国最新统计用区划代码和城乡划分代码使用指南
- flash文件怎么打开 怎么将swf格式转换成avi视频
- Cuda与GPU显卡驱动版本一览
- xlsx文件 wps 可以打开 excel 打不开
- Java复习攻略02
- 穿山甲别于传统广告联盟,造势创建新角色
- 利用phpstudy在网页输出学号姓名
- 本科毕业设计格式规范
- 国行白色 ipad 4 16G
- java中单行注释的符号,GitHub已标星16k
- AGC 自动增益控制
- 打造你的私人聊天机器人
热门文章
- c 定义结构体时提示应输入声明_C|语法的合理性理解和分析
- 计算机 术语库 excel,Trados直接用Excel做术语库
- 盛科交换机配置命令_cisco2960交换机 清除配置的命令
- Arcgis10.2安装及LicensenManager10.2启动失败解决方法
- 微信小程序 自定义顶部导航栏标题 navigationStyle
- oracle extract类型,Oracle中extract()函数
- php微信回调验证签名,微信支付回调验证签名处理
- IDEA 控制台显示Run Dashboard
- c语言运算符 ,C语言关于位和运算符
- oracle怎样查询能利用索引,oracle怎样查询索引的使用情况