Localization library | |||||||||||||||||||||||||
Regular expressions library(C++11) | |||||||||||||||||||||||||
Formatting library(C++20) | |||||||||||||||||||||||||
Null-terminated sequence utilities | |||||||||||||||||||||||||
Byte strings | |||||||||||||||||||||||||
Multibyte strings | |||||||||||||||||||||||||
Wide strings | |||||||||||||||||||||||||
Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Text encoding identifications | |||||||||||||||||||||||||
|
|
Defined in header <locale> | ||
template<class CharT> CharT toupper( CharT ch,const locale& loc); | ||
Converts the characterch to uppercase if possible, using the conversion rules specified by the given locale'sstd::ctype facet.
Contents |
ch | - | character |
loc | - | locale |
Returns the uppercase form ofch if one is listed in the locale, otherwise returnsch unchanged.
Only 1:1 character mapping can be performed by this function, e.g. the uppercase form of 'ß' is (with some exceptions) the two-character string "SS", which cannot be obtained bystd::toupper.
template<class CharT>CharT toupper(CharT ch,conststd::locale& loc){returnstd::use_facet<std::ctype<CharT>>(loc).toupper(ch);} |
#include <cwctype>#include <iostream>#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::wint_t)std::toupper(c,std::locale())<<'\n'; std::cout<<"in Unicode locale, toupper("<<(std::wint_t)c<<") = "<<(std::wint_t)std::toupper(c,std::locale("en_US.utf8"))<<'\n';}
Possible output:
in the default locale, toupper(0x17f) = 0x17fin Unicode locale, toupper(0x17f) = 0x53
converts a character to lowercase using thectype facet of a locale(function template)[edit] | |
converts a character to uppercase (function)[edit] | |
converts a wide character to uppercase (function)[edit] |