Namespaces
Variants

isupper

From cppreference.net
< c ‎ | string ‎ | byte
Определено в заголовочном файле <ctype.h>
int isupper ( int ch ) ;

Проверяет, является ли данный символ символом верхнего регистра в соответствии с текущей локалью C. В стандартной локали "C" isupper возвращает истину только для заглавных букв ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ).

Если isupper возвращает true , гарантируется, что iscntrl , isdigit , ispunct и isspace вернут false для того же символа в той же локали C.

Поведение не определено, если значение ch не представимо в виде unsigned char и не равно EOF .

Содержание

Параметры

ch - символ для классификации

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

Ненулевое значение, если символ является заглавной буквой, и ноль в противном случае.

Пример

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xc6'; // letter Æ in ISO-8859-1
    printf("In the default C locale, \\xc6 is %suppercase\n",
           isupper(c) ? "" : "not " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xc6 is %suppercase\n",
           isupper(c) ? "" : "not " );
}

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

In the default C locale, \xc6 is not uppercase
In ISO-8859-1 locale, \xc6 is uppercase

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.4.1.11 Функция isupper (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.4.1.11 Функция isupper (стр. 147)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.4.1.11 Функция isupper (стр. 203)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.4.1.11 Функция isupper (стр. 184)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.3.1.10 Функция isupper

Смотрите также

проверяет, является ли широкий символ символом верхнего регистра
(функция)
C++ documentation для isupper
**Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые диапазоны (33–47) не требуют перевода - Весь текст внутри тегов ` ` сохранен без изменений - Символы `–` и `≠` являются математическими обозначениями - HTML-теги и атрибуты сохранены в оригинале Фрагмент представляет собой таблицу с техническими данными, где все содержимое состоит из кодов, символов и числовых значений, которые не подлежат переводу согласно вашим требованиям. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из HTML-тегов, атрибутов, числовых значений и C++ специфических обозначений внутри тегов ` `, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и специальных символов - Символа "–" (тире), который является стандартным разделителем диапазонов Единственный потенциально переводимый элемент "–" между тегами ` ` оставлен без изменений, так как в техническом контексте он используется как математический символ диапазона. **Примечание:** В данном HTML-фрагменте нет текста для перевода, требующего локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Числовых значений и шестнадцатеричных кодов в тегах ` ` (не подлежат переводу) - Символов и математических обозначений (сохранены в оригинале) Единственный потенциально переводимый элемент "–" (тире) уже является корректным для русского языка. **Примечание:** В данном HTML-фрагменте не содержится текста для перевода, требующего локализации на русский язык. Все элементы представляют собой: - Числовые диапазоны (71–90) - Шестнадцатеричные и восьмеричные escape-последовательности C++ - Буквенные символы ASCII - Логические значения (0 и ≠0) Все эти элементы сохраняются в исходном виде согласно требованиям технического перевода для C++. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (91–96) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы `–` являются математическими символами и не переводятся - HTML-теги и атрибуты сохранены в оригинале Весь текст уже представлен в виде кодовых последовательностей и числовых значений, которые не подлежат переводу согласно указанным требованиям. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода, требующий локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (сохранены без изменений) - Числовых значений и шестнадцатеричных кодов в тегах ` ` (не подлежат переводу) - Символов и математических обозначений (сохранены в оригинале) Единственный потенциально переводимый элемент - символ тире `–` между значениями - является стандартным математическим/типографским символом и не требует перевода. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (103–122) не требуют перевода - Содержимое внутри тегов ` ` не переводится согласно инструкциям - Символы `–` и `≠` являются математическими символами - Остальной текст отсутствует Все HTML-теги, атрибуты и содержимое тегов ` ` сохранены в оригинальном виде. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из числовых значений, шестнадцатеричных кодов, символов и HTML-тегов. Согласно инструкциям: - HTML-теги и атрибуты сохранены без изменений - Текст внутри тегов ` ` не переводится - C++ специфические термины отсутствуют - Числовые значения и символы не подлежат переводу
Значения ASCII символы

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

десятичное шестнадцатеричное восьмеричное
0–8 \x0 \x8 \0 \10 управляющие коды ( NUL и др.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 табуляция ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 пробельные символы ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 управляющие коды ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 пробел 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \173 \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 символ удаления ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0