std::isupper(std::locale) - cppreference.com

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

std::ctype

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)

[edit]

checks if a wide character is an uppercase character
(function)

[edit]