名前空間
変種
操作

std::tolower(std::locale)

提供: cppreference.com
< cpp‎ | locale
 
 
 
ヘッダ <locale> で定義
template< class charT >
charT tolower( charT ch, const locale& loc );

可能であれば、指定されたロケールの std::ctype ファセットによって規定される変換ルールを使用して、文字 ch を大文字に変換します。

目次

[編集] 引数

ch - 文字
loc - ロケール

[編集] 戻り値

ロケールにリストされていれば、 ch の小文字形を返します。 そうでなければ、 ch を変更せずに返します。

[編集] ノート

1:1 の文字マッピングのみがこの関数によって行うことができます。 例えば、ギリシア文字の大文字 'Σ' には、単語内の位置に依存する2つの小文字形 'σ' および 'ς' があります。 この場合、正しい小文字形を取得するために std::tolower の呼び出しを使用することはできません。

[編集] 実装例

template< class charT >
charT tolower( charT ch, const std::locale& loc ) {
    return std::use_facet<std::ctype<charT>>(loc).tolower(ch);
}

[編集]

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

出力:

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

[編集] 関連項目

指定されたロケールの ctype ファセットを使用して文字を大文字に変換します
(関数テンプレート) [edit]
文字を小文字に変換します
(関数) [edit]
ワイド文字を小文字に変換します
(関数) [edit]