towupper
From cppreference.net
Null-terminated wide strings
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<wctype.h>
|
||
|
wint_t towupper
(
wint_t wc
)
;
|
(начиная с C95) | |
Преобразует заданный широкий символ в верхний регистр, если это возможно.
Содержание |
Параметры
| wc | - | широкий символ для преобразования |
Возвращаемое значение
Прописная версия
wc
или неизмененный
wc
если в текущей локали C не указана версия в верхнем регистре.
Примечания
Только отображение символов 1:1 может быть выполнено этой функцией, например, заглавная форма 'ß' это (с некоторыми исключениями) двухсимвольная строка "SS", которую нельзя получить с помощью
towupper
.
ISO 30112 определяет, какие пары символов Юникода включены в это отображение.
Пример
Запустить этот код
#include <stdio.h> #include <wchar.h> #include <wctype.h> #include <locale.h> int main(void) { wchar_t wc = L'\u017f'; // Latin small letter Long S ('ſ') printf("in the default locale, towupper(%#x) = %#x\n", wc, towupper(wc)); setlocale(LC_ALL, "en_US.utf8"); printf("in Unicode locale, towupper(%#x) = %#x\n", wc, towupper(wc)); }
Вывод:
in the default locale, towupper(0x17f) = 0x17f in Unicode locale, towupper(0x17f) = 0x53
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.30.3.1.2 Функция towupper (стр. 453)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.25.3.1.2 Функция towupper (стр. 399)
Смотрите также
|
(C95)
|
преобразует широкий символ в нижний регистр
(функция) |
|
преобразует символ в верхний регистр
(функция) |
|
|
Документация C++
для
towupper
|
|