@Nyarogami

Как поменять кодировку при записи данных в файл?

Пытаюсь записать в файл слово на кириллице, но в самом файле у меня не слово "Тест" а непонятно что. Понял что дело в кодировке, поискал в гугле все советовали использовать SetConsoleCP(1251); , но это мне не помогло.
#include <iostream>
#include <Windows.h>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    setlocale(LC_ALL, "ru");

    string path = "C:\\Users\\Nyarogami\\Desktop\\piFile.txt";

    ofstream myFile;
    myFile.open(path, fstream::in | fstream::out | fstream::app);
    SetConsoleCP(1251);
    myFile << "Тест";
    return 0;
}
  • Вопрос задан
  • 1131 просмотр
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Нужно перекодировать текст в кодировку, которую вы хотите видеть в файле.
Или сразу писать исходники в этой кодировке.

А вообще найдите редактор, который понимает разные кодировки и используйте его для просмотра текста. На этапе изучения языка, возможно, нет смысла вникать в нюансы кодировок. Могу посоветовать Notepad++ или встроенный редактор Far manager.

В винде с этим все достаточно запутано.
Но кодировки в файле - это еще простой случай.
Когда попытаетесь писать кирилические символы в консоль, вот тогда сможете полностью прочувствоввать всю глубину вопроса, если, конечно, на это хватит терпенья.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы