Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 23.04.2012, 09:53   #11
SergeyCh
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 27
По умолчанию Вывод текста на русском в файл

Пора переходить на С++11 и VC++ 2010. Этот код выводит текст на русском (точнее, на любом языке) в файл на любом компьютере -

Код HTML:
#include <iostream>
#include <fstream>
#include <codecvt>//in VC++2010 only!

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	wfstream myfile;
	
	//Note: <codecvt> was added in VC++2010 - 
	const std::locale AvailLocale
	= std::locale(std::locale("Russian"), new std::codecvt_utf8<wchar_t>());

	myfile.imbue(AvailLocale);

	myfile.open(L"c:\\Temporary\\example.txt",ios::out);
	if (myfile.is_open()) 
	{ 
		myfile << L"доброе утро" <<endl;
	} 


	myfile.flush();
	myfile.close();
	
	return 0;
}
Очень полезная статья из Нижегородского Университета -
ЛОКАЛИЗАЦИЯ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ В ЯЗЫКЕ C++
Объединив этот код с примером из статьи вы сможете вводить текст на русском (точнее на языках из Windows (ANSI) 1250-1258) с клавиатуры и записывать в файл.

Последний раз редактировалось SergeyCh; 23.04.2012 в 22:24.
SergeyCh вне форума Ответить с цитированием
Старый 23.04.2012, 19:40   #12
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

про визуал 10 в точку. У меня просто 2005. 2010 только качается
kineziz вне форума Ответить с цитированием
Старый 25.04.2012, 15:12   #13
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

setlocale тут не поможет - она не настраивает ввод.
Пишите так:
Код:
#include <windows.h>
Это пишите в main:
Код:
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
В консоли меняете свойство шрифт на Lucida Console.
rmv240899 вне форума Ответить с цитированием
Старый 25.04.2012, 15:14   #14
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Блин, опять меня опередили :-(
rmv240899 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SendMessage иероглифы !? Pozitif Помощь студентам 3 08.12.2011 20:03
MessageBox и иероглифы ImmortalAlexSan Общие вопросы C/C++ 5 10.03.2011 12:22
Вместо русских букв восточные иероглифы alexandros Microsoft Office Word 3 28.12.2010 15:22
расписание формулы заместо итогового значения dobriymart Microsoft Office Excel 5 07.12.2010 23:44
Иероглифы в Equation mitrandir Microsoft Office Word 9 25.09.2007 08:06


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS