本地化库
文章平均质量分 81
本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析,以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C++ 标准库的其他组件的行为。
繁星璀璨G
单身,求对象
展开
-
c++11 标准模板(STL)本地化库 - 平面类别 (std::time_get_byname) 表示系统提供的具名本地环境的 std::time_get
std::time_get_byname 是 std::time_get 平面,封装在其构造时指定的 locale 的日期和时间分析规则。原创 2024-05-23 08:30:00 · 1284 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (六)
1) 公开成员函数,调用最终导出类的成员函数 do_always_noconv 。2) 若 do_in() 和 do_out() 对于所有合法输入都返回 std::codecvt_base::noconv 则返回 true 。原创 2024-04-16 08:30:00 · 822 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 (std::time_put_byname)表示系统提供的具名本地环境的 std::time_put
为名为 name 的本地环境构造新的 std::time_put_byname 平面。refs 用于资源管理:在销毁最后一个保有平面的 std::locale 对象时,若 refs == 0 ,则实现销毁平面对象。否则,不销毁对象。原创 2024-05-24 08:30:00 · 1402 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(五)
1,2) 公开成员函数,调用最终导出类上的受保护虚成员函数 do_toupper 。3) 若此 locale 定义 c 的大写形式,则转换它为大写形式。4) 对字符数组 [beg, end) 中每个存在大写形式的字符,以其大写形式替换该字符。原创 2024-04-06 08:30:00 · 688 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::numpunct) - 定义数值标点规则
平面 std::numpunct 封装数值标点偏好。流 I/O 操作通过 std::num_get 和 std::num_put ,将用 std::numpunct 用于剖析数值输入,和格式化数值输出。原创 2024-05-08 08:30:00 · 828 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 (std::collate_byname)表示系统提供的具名本地环境的 std::collate
为名为 name 的本地环境构造新的 std::collate_byname 平面。refs 用于资源管理:在销毁最后一个保有平面的 std::locale 对象时,若 refs == 0 ,则实现销毁平面对象。否则,不销毁对象。原创 2024-05-22 08:30:00 · 626 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::moneypunct) - 定义 std::money_get 与 std::money_put 所用的货币格式解析器的参数(六)
1) 公开成员函数,调用最终导出类的成员函数 do_positive_sign 。2) 公开成员函数,调用最终导出类的成员函数 do_negative_sign 。3) 返回用作正货币值格式化的字符串。3) 返回用作负货币值格式化的字符串。只有返回字符串的首字符是出现于值 sign 所指示的 pos_format()/neg_format() 位置前的字符。剩下的字符出现在货币字符串的剩余部分之后'。原创 2024-05-16 08:30:00 · 854 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::time_put) - 格式化数值为字符序列以输出
类 std::num_put 封装格式化数值为字符串的规则。具体而言支持 bool 、 long 、 unsigned long 、 long long 、 unsigned long long 、 double 、 long double 、 void* 类型和所有能隐式转换到它们的类型(例如 int 或 float )。标准格式化输出运算符(如 cout原创 2024-05-07 08:30:00 · 1621 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::moneypunct) - 定义 std::money_get 与 std::money_put 所用的货币格式解析器的参数(二)
1) 公开成员函数,调用最终导出类的成员函数 do_decimal_point 。2) 返回用作货币 I/O 中小数点的字符,若格式使用小数(即若 do_frac_digits() 大于零)。对于典型的美国本地环境,其为字符 '.' (或 L'.' )。原创 2024-05-12 17:32:41 · 485 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::collate) - 定义字典序比较和字符串的散列(三)
1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_transform 。2) 转换字符序列 [low, high) 为 string ,使得它与在另一字符串上调用 transform() 的结果以字典序比较,会产生在二个相同字符串上调用 do_compare() 的相同结果。原创 2024-04-21 08:30:00 · 938 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::moneypunct) - 定义 std::money_get 与 std::money_put 所用的货币格式解析器的参数(三)
1) 公开成员函数,调用最终导出类的成员函数 do_thousands_sep 。2) 返回在分析或格式化货币值整数部分时用作分隔符的字符。原创 2024-05-13 08:30:00 · 426 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (七)
1) 公开成员函数,调用最终导出类的成员函数 do_length 。2) 给定初始转换状态 state ,试图转换来自 [from, from_end) 所定义的字符数组的 externT 字符,为至多 max 个 internT 字符,并返回这种转换会消耗的 externT 字符数。原创 2024-04-17 08:30:00 · 632 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::moneypunct) - 定义 std::money_get 与 std::money_put 所用的货币格式解析器的参数(五)
1) 公开成员函数,调用最终导出类的成员函数 do_curr_symbol 。2) 返回此本地环境用作通货标识符的字符串。若 International ( std::moneypunct 的第二模板形参)为 false ,则此标识符通常为单个(宽)字符,例如 "¥" 或 "$" 。若 International 为 true ,则标识符通常为保有三个 ISO 4217 通货代码,后随空格的四字符字符串( "JPY " 或 "USD " )。原创 2024-05-15 08:30:00 · 679 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - std::ctype 对于 char 类型的特化
此 std::ctype 的特化为类型 char 封装字符分类特性。不同于使用虚函数的通用 std::ctype ,此特化用表查找分类字符(通常会更快)。基类 std::ctype 实现等价于最小 "C" 本地环境的字符分类。若用非默认的分类表参数,构造为 std::ctype_byname 或用户定义的导出平面,则能扩展或修改分类规则。所有 std::istream 的有格式输入函数都要求在输入分析中将 std::ctype 用于字符分类。原创 2024-04-10 08:30:00 · 1041 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 ( std::ctype_byname) 表示系统提供的具名本地环境的 std::ctype
std::ctype_byname 是封装指定于其构造的本地环境的字符分类规则的 std::ctype 平面。原创 2024-05-19 08:30:00 · 1020 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::collate) - 定义字典序比较和字符串的散列(二)
1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_compare 。2) 以此本地环境的对照规则,比较字符序列 [low1, high1) 与字符序列 [low2, high2) ,而若第一字符串后随第二个则返回 1 ,若第一字符串前趋第二个则返回 -1 ,若二个字符串等价则返回零。原创 2024-04-20 09:50:38 · 1043 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(三)
1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_scan_is 。2) 定位字符数组 [beg, end) 中满足分类掩码 m 的首个字符,即首个使得 is(m, c) 会返回 true 的字符 c 。原创 2024-04-04 08:30:00 · 1235 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表
类 ctype 封装字符分类特征。所有通过 std::basic_istream 进行的流输入操作用感染于流中的 std::ctype 鉴别空白符以将输入记号化。流输出操作在输出前应用 std::ctype::widen() 到窄字符参数。原创 2024-04-02 08:30:00 · 944 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 (std::messages_byname )表示系统提供的具名本地环境的 std::messages
为名为 name 的本地环境构造新的 std::messages_byname 平面。refs 用于资源管理:在销毁最后一个保有平面的 std::locale 对象时,若 refs == 0 ,则实现销毁平面对象。否则,不销毁对象。原创 2024-05-21 08:30:00 · 875 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::moneypunct) - 定义 std::money_get 与 std::money_put 所用的货币格式解析器的参数(八)
1) 公开成员函数,调用最终导出类的成员函数 do_pos_format 。2) 公开成员函数,调用最终导出类的成员函数 do_neg_format 。3) 返回( std::money_base::format 类型)描述正货币值格式化的格式结构。4) 返回( std::money_base::format 类型)描述负货币值格式化的格式结构。std::moneypunct 的标准特化返回模式 {symbol, sign, none, value} 。原创 2024-05-18 08:30:00 · 920 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::moneypunct) - 定义 std::money_get 与 std::money_put 所用的货币格式解析器的参数
平面 std::moneypunct 封装货币值格式化偏好。流 I/O 操纵符 std::get_money 和 std::put_money 通过 std::money_get 和 std::money_put 用 std::moneypunct 分析货币值输入及格式化货币值输出。原创 2024-05-11 23:17:44 · 1064 阅读 · 1 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(time_put) - 格式化 std::tm 内容为字符序列以输出
类模板 std::time_put 封装日期和时间格式化规则。 I/O 操纵符 std::put_time 用 I/O 流的 locale 的 std::time_put 平面生成 std::tm 对象的文本表示。原创 2024-05-05 08:30:00 · 914 阅读 · 1 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::moneypunct) - 定义 std::money_get 与 std::money_put 所用的货币格式解析器的参数(七)
1) 公开成员函数,调用最终导出类的成员函数 do_frac_digits 。2) 返回打印货币值时出现在小数点后的位数。原创 2024-05-17 08:30:00 · 776 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 (std::codecvt_byname)表示系统提供的具名本地环境的 std::codecvt
为名为 name 的本地环境构造新的 std::codecvt_byname 平面。refs 用于资源管理:在销毁最后一个保有平面的 std::locale 对象时,若 refs == 0 ,则实现销毁平面对象。否则,不销毁对象。原创 2024-05-20 08:30:00 · 1418 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(六)
1,2) 公开成员函数,调用最终导出类上的受保护虚成员函数 do_tolower 。3) 若此 locale 定义 c 的小写形式,则转换它为小写形式。4) 对字符数组 [beg, end) 中每个存在小写形式的字符,以其小写形式替换该字符。原创 2024-04-07 08:30:00 · 704 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32
此 std::ctype 的特化为类型 char 封装字符分类特性。不同于使用虚函数的通用 std::ctype ,此特化用表查找分类字符(通常会更快)。基类 std::ctype 实现等价于最小 "C" 本地环境的字符分类。若用非默认的分类表参数,构造为 std::ctype_byname 或用户定义的导出平面,则能扩展或修改分类规则。所有 std::istream 的有格式输入函数都要求在输入分析中将 std::ctype 用于字符分类。原创 2024-04-11 08:30:00 · 786 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (五)
1) 公开成员函数,调用最终导出类的成员函数 do_encoding 。2) 若此 codecvt 平面所表示的编码映射每个内部字符为相同的常数个外部字符,则返回该常数。若编码为变长(如 UTF-8 或 UTF-16 ),则返回 0 。若编码依赖平台,则返回 -1 。原创 2024-04-15 08:30:00 · 915 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 C 库本地环境
setlocale 函数安装指定的系统本地环境或其一部分,作为新的 C 本地环境。修改保持效果,并影响所有关乎本地环境的 C 库函数执行,到下次调用 setlocale 为止。若 locale 为空指针,则 setlocale 查询当前 C 本地环境而不修改它。原创 2024-05-27 08:30:00 · 1305 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::money_put) - 格式化货币值为字符序列以输出
类 std::money_put 封装格式化货币值为字符串所用的规则。标准 I/O 操纵符 std::put_money 使用 I/O 流的 locale 的 std::money_put 平面。原创 2024-05-10 23:43:37 · 1097 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 (std::codecvt)- 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (三)
1) 公开成员函数,调用最终导出类的成员函数 do_in 。2) 若此 codecvt 平面定义一个转换,则翻译来自源范围 [from, from_end) 的外部字符为内部字符,将结果置始于 to 的后继位置。原创 2024-04-13 12:43:41 · 1117 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (八)
1) 公开成员函数,调用最终派生类的成员函数 do_max_length 。2) 返回对于任何合法范围 [from, from_end) 和任何 state 合法 , do_length(state, from, from_end, 1) 所能返回的最大值。原创 2024-04-18 08:30:00 · 1043 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(time_get) - 从输入字符序列中解析时间/日期值到 std::tm 中(一)
类模板 std::time_get 封装日期和时间分析规则。 I/O 操纵符 std::get_time 用 I/O 流的 locale 的 std::time_get 平面转换文本输入为 std::tm 对象。原创 2024-04-27 11:45:00 · 632 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (二)
1) 公开成员函数,调用最终导出类的成员函数 do_out 。2) 若此 codecvt 平面定义一个转换,则翻译来自源范围 [from, from_end) 的内部字符为外部字符,并将结果置于始于 to 的相继位置。原创 2024-04-12 08:30:00 · 1078 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(八)
1,2) 公开成员函数,调用最终导出类的受保护虚成员函数 do_narrow 。3) 若(可能为宽)的字符 c 能以单字节表示(例如, UTF-8 编码中的 ASCII 字符是单字节),则转换它为为多字节表示。若这种转换不存在则返回 dflt 。4) 对于字符数组 [beg, end) 中的而每个字符,写入窄化字符(或凡在窄化失败时写入 dflt )到 dst 所指向的字符数组中的相继位置。原创 2024-04-09 08:30:00 · 758 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(time_get) - 从输入字符序列中解析时间/日期值到 std::tm 中(七)
1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_get_year 。2) 读取来自序列 [beg, end) 的相继字符,用某实现定义格式分析出年。取决于 locale ,可能接受二位的年,而它们属于哪个世纪是实现定义的。原创 2024-05-03 08:30:00 · 68 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::num_get) - 从输入字符序列中解析数字值
类 std::num_get 封装分析数值的字符串表示的规则。特别是支持类型 bool 、 unsigned short 、 unsigned int 、 long 、 unsigned long 、 long long 、 unsigned long long 、 float 、 double 、 long double 及 void* 。标准格式化输入运算符(如 cin >> n; )用 I/O 流的 locale 的 std::num_get 平面分析数字的文本表示。原创 2024-05-06 08:30:00 · 667 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(time_get) - 从输入字符序列中解析时间/日期值到 std::tm 中(六)
1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_get_monthname 。2) 从字符序列 [beg, end) 读取出相继字符,用此 locale 所期待的月名默认格式,同函数 std::get_time 、 time_get::get 和 POSIX 函数 strptime() 所用的 "%b" ,分析出月名(可能为缩写)。原创 2024-05-02 08:30:00 · 54 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(std::messages) - 实现从消息目录获取字符串(一)
类模板 std::messages 是标准 locale 平面,它封装从消息目录取得字符串,例如 GNU gettext 或 POSIX catgets 所提供者。原创 2024-04-23 08:30:00 · 652 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别(time_get) - 从输入字符序列中解析时间/日期值到 std::tm 中(三)
1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_get_time 。2) 从字符序列 [beg, end) 读取相继的字符,并分析出遵循与下列格式指定符相同规则的时间值原创 2024-04-29 08:30:00 · 957 阅读 · 0 评论 -
c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(二)
1,2) 公开成员函数,调用最终导出类的受保护虚成员函数 do_is 。3) 检查字符 c 是否以掩码 m 分类。4) 对字符数组 [low, high) 中的每个字符原创 2024-04-03 08:30:00 · 871 阅读 · 0 评论