Fstream и русский текст. Разница между собственным текстовым файлом и созданным c помощью класса ofstream
Недавно столкнулся с такой проблемой: программа, открывая заранее созданный мною .txt документ, выводила содержимое в строки, но вместо русских букв появились непонятные символы. Такие функции, как setlocale, SetConsoleCP и CharToOem не помогали.
Спустя несколько часов, я создал ровно такой же .txt документ через ofstream и чудом весь текст стал правильно отображаться. С чем может быть связано подобное поведение программы? Как можно было избежать лишних действий с кодом (создание файла непосредственно в самой программе)?
Ответы (1 шт):
Да, как и сказал Harry, дело в кодировке. При создании .txt документа кодировка по умолчанию стоит UTF-8, а ofstream создал документ с кодировкой ANSI.