Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2016, 10:16   #1
KT82
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 41
По умолчанию Запись в текстовый файл русского текста

Записываю русский текст в файл, открываю файл и предлагает в MS Word выбрать кодировку, и читаемо, только при выборе кодировки MS-DOS (Кириллица DOS). ЧТО прописать в коде, чтобы сразу открывал файл с русским текстом, не предлагая выбирать кодировки???

Код:
#include <iostream>
#include <fstream>
 using namespace std;
int main()
{
ofstream out("C:\\Users\\user\\Desktop\\pr\\myfile.txt");
out<<"Первая строка!"<<"\n";
out<<"Вторая строка!";
out.close();
return 0;
}
KT82 вне форума Ответить с цитированием
Старый 06.02.2016, 10:49   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Разбираться как писать в нормальной кодировке (например UTF-8).
И скорее всего это не самая простая задача если использовать только стандартную библиотеку, особенно до С++11.
https://www.google.com/search?q=c%2B...ite+utf-8+file
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.02.2016, 11:12   #3
KT82
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 41
По умолчанию

Ответ не помог, на английском языке не читаю!
Есть информация, где на русском языке написано, как это делается?
KT82 вне форума Ответить с цитированием
Старый 06.02.2016, 13:47   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
ЧТО прописать в коде, чтобы сразу открывал файл с русским текстом, не предлагая выбирать кодировки???
ничего. в такой постановке задача решения не имеет.
Текстовый файл, который содержит символы, выходящие за пределы латиницы,
ВСЕГДА при открытии в MS WORD будет выдаваться окошко с запросом кодировки!
(проверил и на Windows кодировке (1251, она же "ANSI") и на UTF-8 и даже на UTF8 c BOM.
Правда, предлагаемая Word кодировка всегда была корретна. Скорее всего, Word анализируется текст и подбирает наиболее подходящую кодировку.

Если не хотите вопросов при открытии файла в Word, то пишите в другие форматы.
Например, в RTF. правда, Вам нужно или использовать какую-нибудь библиотеку, или всё таки придётся открыть для себя кодировки.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.02.2016, 13:48   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

пересохрани исходник в нужной кодировке (например cp1251), а потом перекомпиляй.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 06.02.2016, 14:08   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
ВСЕГДА при открытии в MS WORD будет выдаваться окошко с запросом кодировки!
Не выдается, если кодировка совпадает с используемой на компьютере. У меня txt с 1251 спокойно открывает. А с юникодом окошко вываливает. Может потому, что офис древний, образца 2003
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 06.02.2016 в 14:17.
Аватар вне форума Ответить с цитированием
Старый 06.02.2016, 14:25   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем вообще в ворде txt открывать? В Nero Burning ROM еще открой.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.02.2016, 15:56   #8
KT82
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 41
По умолчанию

KT82 вне форума Ответить с цитированием
Старый 07.02.2016, 11:25   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не выдается, если кодировка совпадает с используемой на компьютере. У меня txt с 1251 спокойно открывает. А с юникодом окошко вываливает. Может потому, что офис древний, образца 2003
Это может быть из за версии офиса.
я проводил опыты в Win 7 x64, MS Office 2010.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.02.2016, 14:48   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Это может быть из за версии офиса.


как кодировка файла, который сделан автором, может зависеть от версии офиса?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись в текстовый файл casio23 JavaScript, Ajax 9 24.03.2014 09:15
запись в текстовый файл mishammm Помощь студентам 4 14.01.2014 22:06
Запись текста в текстовый файл shadowmvn Помощь студентам 1 23.12.2012 13:17
Запись в текстовый файл С++ Шиншилка Помощь студентам 2 30.10.2011 15:37
PHP запись русского текст в файл Jakethefish PHP 0 25.03.2011 15:19