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的学习相关推荐

  1. boost库学习随记五 Boost.Locale 之字符转换 gbk utf8 big5 string wstring等

    Boost.Locale是一个库,它提供高质量的本地化的设施在C + +的方式.它最初是设计的一部分CppCMS - C + +的Web框架的项目,然后促成了提升. Boost.Locale提供强大的 ...

  2. Boost.Locale 之字符转换 gbk utf8 big5 string wstring等

    Boost.Locale是一个库,它提供高质量的本地化的设施在C + +的方式.它最初是设计的一部分CppCMS - C + +的Web框架的项目,然后促成了提升. Boost.Locale提供强大的 ...

  3. boost::locale::calendar用法的测试程序

    boost::locale::calendar用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::calendar用法的测试程序 C++实现代码 #include < ...

  4. boost::locale::to_upper用法的测试程序

    boost::locale::to_upper用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::to_upper用法的测试程序 C++实现代码 #include < ...

  5. boost::locale::utf8_codecvt用法的测试程序

    boost::locale::utf8_codecvt用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::utf8_codecvt用法的测试程序 C++实现代码 #inc ...

  6. boost::locale::generator用法的测试程序

    boost::locale::generator用法的测试程序 实现功能 C++实现代码 实现功能 boost::locale::generator用法的测试程序 C++实现代码 #include & ...

  7. 使用 std::shared_ptr 和 std::unique_ptr 测试 boost/pointer_cast.hpp

    使用 std::shared_ptr 和 std::unique_ptr 测试 boost/pointer_cast.hpp 实现功能 C++实现代码 实现功能 使用 std::shared_ptr ...

  8. Boost:std ::bind与Boost的_1绑定的测试程序

    Boost:std ::bind与Boost的_1绑定的测试程序 实现功能 C++实现代码 实现功能 boost::bind模块,std ::bind与Boost的_1绑定的测试程序 C++实现代码 ...

  9. Boost:使用std :: test进行boost:array的测试

    Boost:使用std :: test进行boost:array的测试 实现功能 C++实现代码 实现功能 使用std :: test进行boost:array的测试 C++实现代码 #include ...

最新文章

  1. 微信js sdk动态引用
  2. 新站优化工作还有一点点补充内容!
  3. python读取目录_Python读取一个目录下所有目录和文件
  4. 从流量控制算法谈网络优化-TCP核心原理理解
  5. AppDomainManager后门的实现思路
  6. 现代软件工程讲义 12 绩效管理
  7. 一种SPA(单页面应用)架构
  8. httpclient 3.0初步研究
  9. 最新全国五级行政区划json文件下载链接 全国最新统计用区划代码和城乡划分代码使用指南
  10. flash文件怎么打开 怎么将swf格式转换成avi视频
  11. Cuda与GPU显卡驱动版本一览
  12. xlsx文件 wps 可以打开 excel 打不开
  13. Java复习攻略02
  14. 穿山甲别于传统广告联盟,造势创建新角色
  15. 利用phpstudy在网页输出学号姓名
  16. 本科毕业设计格式规范
  17. 国行白色 ipad 4 16G
  18. java中单行注释的符号,GitHub已标星16k
  19. AGC 自动增益控制
  20. 打造你的私人聊天机器人

热门文章

  1. c 定义结构体时提示应输入声明_C|语法的合理性理解和分析
  2. 计算机 术语库 excel,Trados直接用Excel做术语库
  3. 盛科交换机配置命令_cisco2960交换机 清除配置的命令
  4. Arcgis10.2安装及LicensenManager10.2启动失败解决方法
  5. 微信小程序 自定义顶部导航栏标题 navigationStyle
  6. oracle extract类型,Oracle中extract()函数
  7. php微信回调验证签名,微信支付回调验证签名处理
  8. IDEA 控制台显示Run Dashboard
  9. c语言运算符 ,C语言关于位和运算符
  10. oracle怎样查询能利用索引,oracle怎样查询索引的使用情况