Есть код, который переводит верхний регистр в нижний.
#include <algorithm>
#include <iostream>
#include <string>
#include <ctype.h>
int main() {
std::string text;
std::cout << "Type text(QWERTY): ";
std:: getline(std::cin, text);
std::cout<<text << " - " ;
std::transform(text.begin(), text.end(), text.begin(), tolower);
std::cout << text;
return 0;
}
Но, если вводится кириллица, то кириллица не заменяется на нижний регистр. Как сделать проверку, есть ли кириллица или какой способ замены использовать, чтобы не нужно было использовать char и массивы char. Работа только со string
Используйте wstring, wcout, towlower.
std::setlocale(LC_CTYPE, "ru-RU");
std::wstring text = L"ABC АБВ";
std::wcout << text << " - ";
std::transform(text.begin(), text.end(), text.begin(), towlower);
std::wcout << text << std::endl;
Выводит abc абв.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости