Есть код, который переводит верхний регистр в нижний.
#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 абв
.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Перенес проект на QT с компьютера с Windows 7 32-bit на ноутбук Windows 10 64-bitНа ноутбуки тот же компилятор, который был на компьютере (Qt_5_9_1_MinGW_32bit)
Вот например на си и с++ я передаю буфер, этот буфер строился из структурыИ вот например я получаю этот буфер по сети, накладываю указатель...
Есть блок кода, который считывает строку из файла и строка будет на русском языке, но соответственно в терминале вместо русских буквы - вопросительные...