C++ | Русский язык из Cin НЕ равен Русскому языку из Const
Всем привет!
Недавно начал программировать на C++. Хотел сделать свой первый проект - переводчик с использованием API. Однако, у меня сразу же возникала одна весомая проблема. Русский язык вводимый через консоль с помощью функции Cin НЕ равен переменной-константе типы String. Возможно ли это исправить не изменяя условие в if и константу? Т.к. использовать функцию cpr::util::urlEncode()
просто не возможно вместе с Cin...
Вот мой код:
#include <iostream>
#include <stdio.h>
#include <Windows.h>
int main() {
SetConsoleCP(CP_UTF8);
SetConsoleOutputCP(CP_UTF8);
const std::string text = "Привет";
std::string textFromCin;
std::cin >> textFromCin; //Вводим "Привет"
// Проверка
std::cout << "Текст одинаковый? ";
if (text == textFromCin) {
std::cout << "True" << std::endl;
} else {
std::cout << "False" << std::endl;
}
return 0;
}
P.S. Пробывал SetConsole, setlocale, а также измнения шрифта в консоле. Результат нулевой.
Источник: Stack Overflow на русском