Вопрос пользователя:
Ответ нейросети:
Для того чтобы записать данные в текстовый файл русскими буквами, вам необходимо указать кодировку UTF-8 при открытии файла. В вашем коде вы используете кодировку 1251, которая может вызывать проблемы с отображением русских символов.
Вот как можно изменить ваш код:
#include <iostream>
#include <string>
#include <fstream>
#include <Windows.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
fstream file_stream;
int check;
string str;
file_stream.open("text_file.txt", fstream::in | fstream::out | fstream::app);
if (!file_stream.is_open())
{
cout << "Ошибка открытия файла!";
}
else
{
cout << "Файл открыт!" << endl;
cout << "Введите 1 - если хотите сделать запись данных \nВведите 2 - если хотите считать все данные из файла" << endl;
cin >> check;
if (check == 1)
{
cout << "Идёт запись данных: " << endl;
SetConsoleCP(1251);
cin >> str;
file_stream << str << endl;
SetConsoleCP(65001);
}
if (check == 2)
{
}
}
file_stream.close();
}
Попробуйте использовать этот код и убедитесь, что ваш текстовый файл "text_file.txt" сохранен в UTF-8 кодировке.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.