0

Считываю объект с двумя строками из текстового файла и при выводе в консоль выдает иероглифы. Когда я делал это в main, все было нормально, но после переноса в другой файл русский перестал работать. Строковые литералы выводит нормально, проблема только с string. С английским языком все корректно работает.

//имя.cpp
void showCatalog()
{
ifstream in(FILE_FLOWERS);

Flower* flower = new Flower; int number = 1;

system("cls"); cout << "Esc) ВЫЙТИ ИЗ КАТАЛОГА" << endl; while (!in.eof()) { flower->read(in); cout << number << ")____________________________________" << endl; cout << "Название цветка: " << flower->getName() << endl; cout << "Цвет: " << flower->getColor() << endl; cout << "Длина: " << flower->getLength() << endl; cout << "Цена: " << flower->getPrice() << endl; cout << "______________________________________" << endl; number++; }

in.close();
delete flower;

}

1 Answers1

0

Попробуйте вписать SetConsoleCP(1251) SetConsoleOutputCP(1251); и подключить #include <Windows.h>; А также в свойствах консоли укажите шрифт "Lucida Console".