Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Изменение регистра символов
Для изменения регистра символов предназначены следующие функции:
towupper()
— возвращает код символа в верхнем регистре. Если преобразования регистра не было, то код символа возвращается без изменений. Прототип функции:
#include <cwchar> /* или #include <wchar.h> */
wint_t towupper(wint_t ch);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
std::wcout << (wchar_t)std::towupper(L'w') << std::endl; // W
std::wcout << (wchar_t)std::towupper(L'б') << std::endl; // Б
wchar_t str[] = L"абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
for (int i = 0, len = (int)std::wcslen(str); i < len; ++i) {
str[i] = std::towupper(str[i]);
}
std::wcout << str << std::endl;
// АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
towlower()
— возвращает код символа в нижнем регистре. Если преобразования регистра не было, то код символа возвращается без изменений. Прототип функции:
#include <cwchar> /* или #include <wchar.h> */
wint_t towlower(wint_t ch);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
std::wcout << (wchar_t)std::towlower(L'W') << std::endl; // w
std::wcout << (wchar_t)std::towlower(L'Б') << std::endl; // б
wchar_t str[] = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
for (int i = 0, len = (int)std::wcslen(str); i < len; ++i) {
str[i] = std::towlower(str[i]);
}
std::wcout << str << std::endl;
// абвгдеёжзийклмнопрстуфхцчшщъыьэюя
_wcsupr()
— заменяет все буквы в L-строкеstr
соответствующими прописными буквами. Функция возвращает указатель на строкуstr
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *_wcsupr(wchar_t *str);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
_wcsupr(str);
std::wcout << str << std::endl;
// АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Вместо функции _wcsupr()
лучше использовать функцию _wcsupr_s()
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
errno_t _wcsupr_s(wchar_t *str, size_t sizeInWords);
В параметре sizeInWords
указывается размер строки. Функция возвращает значение 0
, если операция успешно выполнена, или код ошибки. Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[40] = L"абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
_wcsupr_s(str, 40);
std::wcout << str << std::endl;
// АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
_wcslwr()
— заменяет все буквы в L-строкеstr
соответствующими строчными буквами. Функция возвращает указатель на строкуstr
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *_wcslwr(wchar_t *str);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
_wcslwr(str);
std::wcout << str << std::endl;
// абвгдеёжзийклмнопрстуфхцчшщъыьэюя
Вместо функции _wcslwr()
лучше использовать функцию _wcslwr_s()
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
errno_t _wcslwr_s(wchar_t *str, size_t sizeInWords);
В параметре sizeInWords
указывается размер строки. Функция возвращает значение 0
, если операция успешно выполнена, или код ошибки. Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[40] = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
_wcslwr_s(str, 40);
std::wcout << str << std::endl;
// абвгдеёжзийклмнопрстуфхцчшщъыьэюя
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов