@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;
}
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Нужно перекодировать текст в кодировку, которую вы хотите видеть в файле.
Или сразу писать исходники в этой кодировке.

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

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

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

Войти через центр авторизации
Похожие вопросы
24 сент. 2021, в 23:27
20000 руб./за проект
24 сент. 2021, в 23:24
5000 руб./за проект
24 сент. 2021, в 23:06
4000 руб./за проект