Пространства имён
Варианты
Действия

std::towupper

Материал из cppreference.com
< cpp‎ | string‎ | wide
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
Определено в заголовочном файле <cwctype>
std::wint_t towupper( std::wint_t ch );

Преобразует заданный широкий символ в верхний регистр, если это возможно.

Если значение ch не может быть представлено как wchar_t и не равно значению макроса WEOF, поведение неопределено.

Содержание

[править] Параметры

ch широкий символ для преобразования

[править] Возвращаемое значение

Версия ch в верхнем регистре или неизменённая версия ch, если в текущей локали C не указана версия в верхнем регистре.

[править] Примечание

С помощью этой функции можно выполнить только сопоставление символов 1:1, например, форма 'ß' в верхнем регистре представляет собой (за некоторыми исключениями) двухсимвольную строку "SS", которую невозможно получить с помощью std::towupper.

ISO 30112 определяет, какие пары символов Юникода включены в это сопоставление.

[править] Пример

Латинская буква 'ſ' (U+017F) является альтернативной строчной формой 'S' (U+0053).

#include <clocale>
#include <cwctype>
#include <iostream>
 
int main()
{
    wchar_t c = L'\u017f'; // Латинская строчная буква Длинная S ('ſ')
 
    std::cout << std::hex << std::showbase;
    std::cout << "в локали по умолчанию, towupper("
              << static_cast<std::wint_t>(c) << ") = "
              << std::towupper(c) << '\n';
 
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "в локали Юникода, towupper("
              << static_cast<std::wint_t>(c) << ") = "
              << std::towupper(c) << '\n';
}

Вывод:

в локали по умолчанию, towupper(0x17f) = 0x17f
в локали Юникода, towupper(0x17f) = 0x53

[править] Смотрите также

преобразует широкий символ в нижний регистр
(функция) [править]
преобразует символ в верхний регистр, используя фасет ctype локали
(шаблон функции) [править]
преобразует символ в верхний регистр
(функция) [править]