std::toupper(std::locale)
提供: cppreference.com
ヘッダ <locale> で定義 | ||
template<class charT > charT toupper( charT ch, const locale& loc ); | ||
可能であれば、指定されたロケールの std::ctype ファセットによって規定される変換ルールを使用して、文字 ch
を大文字に変換します。
目次 |
[編集]引数
ch | - | 文字 |
loc | - | ロケール |
[編集]戻り値
ロケールにリストされていれば、 ch
の大文字形を返します。 そうでなければ、 ch
を変更せずに返します。
[編集]ノート
1:1 の文字マッピングのみがこの関数によって行うことができます。 例えば、 'ß' の大文字形は (いくつかの例外はありますが) 2文字の文字列 "SS" であり、これは std::toupper によって取得することはできません。
[編集]実装例
template<class charT > charT toupper( charT ch, conststd::locale& loc ){returnstd::use_facet<std::ctype<charT>>(loc).toupper(ch);} |
[編集]例
Run this code
#include <iostream>#include <cwctype>#include <locale> int main(){wchar_t c = L'\u017f';// Latin small letter Long S ('ſ') std::cout<<std::hex<<std::showbase; std::cout<<"in the default locale, toupper("<<(std::wint_t)c <<") = "<< std::toupper(c, std::locale())<<'\n'; std::cout<<"in Unicode locale, toupper("<<(std::wint_t)c <<") = "<< std::toupper(c, std::locale("en_US.utf8"))<<'\n';}
出力:
in the default locale, toupper(0x17f) = 0x17f in Unicode locale, toupper(0x17f) = 0x53
[編集]関連項目
指定されたロケールの ctype ファセットを使用して文字を小文字に変換します (関数テンプレート) | |
文字を大文字に変換します (関数) | |
ワイド文字を大文字に変換します (関数) |