以下函数用于在字符类之间映射字符(字符音译)。如果字符的映射属于当前语言环境的字符类,函数将返回一个音译字符。这些函数是locale sensitive。
将大写字符转换为小写字符
将小写字符转换为大写字符
将大写宽字符转换为小写宽字符
将小写宽字符转换为大写宽字符
以下函数提供一种常规方式来执行字符音译:
定义字符映射
宽字符映射
有关 Unicode 字符串相关函数的更多信息,请参见Processing UTF-8 Strings。
示例 2-12 宽字符音译以下代码片段说明如何使用 towupper() 函数将 Unicode 宽字符音译为大写宽字符。
wint_t wc;
int ret;
setlocale(LC_ALL, "cs_CZ.UTF-8");
/* "\xc5\x99" is UTF-8 for LATIN SMALL LETTER R WITH CARON */
ret = mbtowc(&wc, "\xc5\x99", 2);
if (ret == (size_t)-1) {
/* Invalid character sequence. */
:
}
wprintf(L"'%c' is uppercase of '%c'.\n", towupper(wc), wc);此示例将生成以下输出:
Ř 是 ř 的大写形式。