From cppreference.com
template<classCharT>boolisupper(CharTch,constlocale&loc);Checks if the given character is classified as an uppercase alphabetic character by the given locale's
facet.
Parameters
ch - character loc - locale Return value
Returns true if the character is classified as uppercase, false otherwise.
Possible implementation
template<classCharT>boolisupper(CharTch,conststd::locale&loc){returnstd::use_facet<std::ctype<CharT>>(loc).is(std::ctype_base::upper,ch);}Example
Demonstrates the use of std::isupper() with different locales (OS-specific).
Run this code
#include<iostream>#include<locale>intmain(){constwchar_tc=L'\u00de';// LATIN CAPITAL LETTER THORNstd::localeloc1("C");std::cout<<std::boolalpha<<"isupper('Þ', C locale) returned "<<std::isupper(c,loc1)<<'\n'<<"islower('Þ', C locale) returned "<<std::islower(c,loc1)<<'\n';std::localeloc2("en_US.UTF8");std::cout<<"isupper('Þ', Unicode locale) returned "<<std::isupper(c,loc2)<<'\n'<<"islower('Þ', Unicode locale) returned "<<std::islower(c,loc2)<<'\n';}Possible output:
isupper('Þ', C locale) returned false islower('Þ', C locale) returned false isupper('Þ', Unicode locale) returned true islower('Þ', Unicode locale) returned false See also
checks if a character is an uppercase character
(function)
checks if a wide character is an uppercase character
(function)