Spec-Zone.ru › C++

std::islower(std::locale)

Определён в заголовочном файле <locale>
template< class CharT >
bool islower( CharT ch, const locale& loc );

Проверяет, классифицируется ли заданный символ как строчная буква в заданной локали с помощью фасета std::ctype.

Параметры

ch - символ
loc - локаль

Возвращаемое значение

Возвращает true, если символ классифицируется как строчная буква, и false в противном случае.

Возможная реализация

template<class CharT>
bool islower(CharT ch, const std::locale& loc)
{
    return std::use_facet<std::ctype<CharT>>(loc).is(std::ctype_base::lower, ch);
}

Пример

Демонстрирует использование islower() с разными локалями (зависит от ОС).

#include <iostream>
#include <locale>

int main()
{
    const wchar_t c = L'\u03c0'; // GREEK SMALL LETTER PI

    std::locale loc1("C");
    std::cout << std::boolalpha
              << "islower('π', C locale) returned "
              << std::islower(c, loc1) << '\n'
              << "isupper('π', C locale) returned "
              << std::isupper(c, loc1) << '\n';

    std::locale loc2("en_US.UTF8");
    std::cout << "islower('π', Unicode locale) returned "
              << std::islower(c, loc2) << '\n'
              << "isupper('π', Unicode locale) returned "
              << std::isupper(c, loc2) << '\n';
}

Возможный вывод:

islower('π', C locale) returned false
isupper('π', C locale) returned false
islower('π', Unicode locale) returned true
isupper('π', Unicode locale) returned false

См. также

islower
проверяет, является ли символ строчной буквой
(функция)
iswlower
проверяет, является ли широкий символ строчной буквой
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/locale/islower

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API