std::towupper
提供: cppreference.com
ヘッダ <cwctype> で定義 | ||
std::wint_t towupper( std::wint_t ch ); | ||
指定されたワイド文字を可能であれば大文字に変換します。
ch
の値が wchar_t として表現可能でなくマクロ WEOF の値と等しくもなければ、動作は未定義です。
目次 |
[編集]引数
ch | - | 変換されるワイド文字 |
[編集]戻り値
ch
の大文字バージョン、または現在の C のロケールに大文字バージョンがなければ無変更の ch
。
[編集]ノート
1:1 の文字マッピングのみがこの関数で行うことができます。 例えば、 'ß' の大文字形は (いくつか例外はあるものの) 2文字の文字列 "SS" であり、 std::towupper によって取得することはできません。
ISO 30112 はこのマッピングに含まれる Unicode 文字の組を規定しています。
[編集]例
ラテン文字 'ſ' (U+017F) は 'S' (U+0053) の代替小文字形式です。
Run this code
#include <iostream>#include <cwctype>#include <clocale> int main(){wchar_t c = L'\u017f';// Latin small letter Long S ('ſ') std::cout<<std::hex<<std::showbase;std::cout<<"in the default locale, towupper("<<(std::wint_t)c <<") = "<< std::towupper(c)<<'\n';std::setlocale(LC_ALL, "en_US.utf8");std::cout<<"in Unicode locale, towupper("<<(std::wint_t)c <<") = "<< std::towupper(c)<<'\n';}
出力:
in the default locale, towupper(0x17f) = 0x17f in Unicode locale, towupper(0x17f) = 0x53
[編集]関連項目
ワイド文字を小文字に変換します (関数) | |
指定されたロケールの ctype ファセットを使用して文字を大文字に変換します (関数テンプレート) | |
文字を大文字に変換します (関数) | |
towupper の C言語リファレンス |