C++ | Русский язык из Cin НЕ равен Русскому языку из Const

Рейтинг: 0Ответов: 0Опубликовано: 05.05.2023

Всем привет! Недавно начал программировать на 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, а также измнения шрифта в консоле. Результат нулевой.

Ответы

Ответов пока нет.