Не считывает кириллицу из текстового файла

Если в файле латиница, то работает как надо, но когда дело доходит до кириллицы, то метод getline возвращает false.

Исходные данные - города написанные на украинском в одну строку без пробелов (по типу: "КиївВінницяБелзОдесаІлловайськ"). В ситуации, когда в файл вместо городов написана строка на латинице и я ввожу строку, которая имеется в исходной, я получаю вывод на консоль: "Місто є в базі!", но когда в файле кириллическая строка и я ввожу строку которую исходная должна содержать, я получаю на вывод: "Міста немає в базі!". Через отладчик видно, что условие в while не выполняется и цикл просто пропускается.

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int SIZE = 81;
    char buffer[SIZE], input[SIZE];
    ifstream fin("text_city_ukr.txt");
    cout << "Введіть назву міста для пошуку: ";
    cin >> input;
    if (!fin.is_open())
    {
        cout << "Помилка при відкритті файлу!";
        return 1;
    }
    while (fin.getline(buffer, SIZE))
    {
        if (strstr(buffer, input))
        {
            cout << "Місто є в базі!" << endl;
            system("pause");
            return 0;
        }
    }
    cout << "Міста немає в базі!" << endl;
    return 0;
}

Ответы (2 шт):

Автор решения: Vadim Chorniy
setlocale(LC_ALL, "ru");

вставь в int main()
жаль что не считывает украинский язык, мой совет заменять укр i на английскую i

→ Ссылка
Автор решения: Aimon Z.
int main()
{
    setlocale(LC_ALL, "Ukrainian") // Для украинского языка

    const int SIZE = 81;
    char buffer[SIZE], input[SIZE];
    ifstream fin("text_city_ukr.txt");
    cout << "Введіть назву міста для пошуку: ";
    cin >> input;
    if (!fin.is_open())
    {
        cout << "Помилка при відкритті файлу!";
        return 1;
    }
    while (fin.getline(buffer, SIZE))
    {
        if (strstr(buffer, input))
        {
            cout << "Місто є в базі!" << endl;
            system("pause");
            return 0;
        }
    }
    cout << "Міста немає в базі!" << endl;
    return 0;
}
→ Ссылка