Сравнение вводной строки на русском языке и заранее заданной

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

Писал проект и наткнулся на проблему, что когда идет сравнение заданной строки и вводной на русском языке, то значение сравнения принимает значение false, вот простейший пример:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string a = "Строка";
    string b;

    cin >> b;

    if (a==b) {
        cout << "Равны";
    }
    else {
        cout << "Не равны";
    }
    return 0;
}

Если я введу в cin "Строка", то программа выдаст "Не равны", несмотря на то, что "Строка" == "Строка", хотя если попробовать тоже самое, но на английском языке, сравнение проводится успешно, как пофикисить такую проблему?

Ответы

▲ 0

Если ты используешь классическую командную строку, то сохрани исходник в OEM866. Или измени кодировку консоли на win1251.