命名空间
变体
操作

std::towlower

来自 cppreference.com
< cpp‎ | string‎ | wide
定义在头文件 <cwctype>
std::wint_t towlower( std::wint_t ch );

如果可能,将给定的宽字符转换为小写。

如果 ch 的值既不能表示为 wchar_t ,也不等于宏 WEOF 的值,则行为未定义。

内容

[编辑] 参数

ch - 要转换的宽字符

[编辑] 返回值

ch 的小写版本,如果当前 C 本地化中没有列出小写版本,则为未修改的 ch

[编辑] 注释

此函数只能执行 1:1 字符映射,例如,希腊大写字母 'Σ' 具有两种小写形式,具体取决于单词中的位置:'σ''ς' 。在这种情况下,无法使用对 std::towlower 的调用来获得正确的小写形式。

ISO 30112 指定了此映射中包含的哪些 Unicode 字符对。

[编辑] 示例

#include <clocale>
#include <cwctype>
#include <iostream>
 
int main()
{
    wchar_t c = L'\u0190'; // Latin capital open E ('Ɛ')
 
    std::cout << std::hex << std::showbase;
    std::cout << "in the default locale, towlower("
              << static_cast<std::wint_t>(c) << ") = "
              << std::towlower(c) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "in Unicode locale, towlower("
              << static_cast<std::wint_t>(c) << ") = "
              << std::towlower(c) << '\n';
}

输出

in the default locale, towlower(0x190) = 0x190
in Unicode locale, towlower(0x190) = 0x25b

[编辑] 另请参阅

将宽字符转换为大写
(函数) [编辑]
使用本地化的 ctype 面来将字符转换为小写
(函数模板) [编辑]
将字符转换为小写
(函数) [编辑]
C 文档 适用于 towlower