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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2012, 10:53   #11
SergeyCh
Пользователь
 
Регистрация: 22.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 в 23:24.
SergeyCh вне форума Ответить с цитированием
Старый 23.04.2012, 20:40   #12
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

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

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

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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SendMessage иероглифы !? Pozitif Помощь студентам 3 08.12.2011 21: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 09:06