C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: cчитывание русских символов и вывод в командную строку  (Прочитано 3620 раз)
funtik1
Участник


Сказали спасибо: +13/-1
Offline

Сообщений: 343


« : 28 Май 2009, 09:13:39 »

Всем привет. Как считать из файла и вывести на экран русские символы в консольном приложении. Делаю так:
Код:
AnsiString s="test.cfg";//ParamStr(1);
      char buffer[100];
//копируем в буфер имя файла из окна сохранения
   strncpy( buffer,s.c_str(), sizeof(buffer) );
ifstream infile(buffer);//(s);

while(!infile.eof() )
{
infile.getline(ch,LEN);
cout
}
Все работает нормально, только вместо русских символов из файла, на экран выводятся непонятные. Как сделать что б русские?
Записан
mrbrooks
Участник


Сказали спасибо: +8/-0
Offline

Сообщений: 63


Re: cчитывание русских символов и вывод в командную строку
« Ответ #1 : 28 Май 2009, 09:17:20 »

CharToOem()/OemToChar()

есть еще
Код
setlocale(LC_ALL,"Russian_Russia.1251");
но как с последним дружит Борман - не знаю.
Записан
Artem
Участник


Сказали спасибо: +14/-9
Offline

Сообщений: 186


Re: cчитывание русских символов и вывод в командную строку
« Ответ #2 : 28 Май 2009, 09:20:47 »

Ну попробуй(текст из файла загони):

Код:
char text[128];//что такое 128 не знаю но ставить обязательно))
CharToOem("Твой текст на русском или на английском отображатся будет хоть как првильно", text); //перекодируем в OEM так, как консоль читает только OEM(DOS);
cout
Записан
funtik1
Участник


Сказали спасибо: +13/-1
Offline

Сообщений: 343


Re: cчитывание русских символов и вывод в командную строку
« Ответ #3 : 28 Май 2009, 09:25:01 »

СПАСИБО ВСЕМ:)))))))))))))))))
Записан
maxbb
Гость
Re: cчитывание русских символов и вывод в командную строку
« Ответ #4 : 29 Май 2009, 08:18:25 »

Варианты:
1. Перед запуском своего консольного приложения выполни команду "chcp 1251".
2. В начале консольного приложения поставь вызов функции "SetConsoleOutputCP(1251);".
3. Утыкивай свой код вызовами "CharToOem" перед каждым выводом строк в консоль как уже тут подсказали :)

Цитата: mrbrooks от 28 Май 2009, 09:17:20
"setlocale(LC_ALL,"Russian_Russia.1251");"
но как с последним дружит Борман - не знаю.
Дружит нормально, если выставлять для всех категорий сразу. Но это к теме не относится .)
Записан
funtik1
Участник


Сказали спасибо: +13/-1
Offline

Сообщений: 343


Re: cчитывание русских символов и вывод в командную строку
« Ответ #5 : 29 Май 2009, 12:47:59 »

ну тут прям дейсвуй нихачу:)))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.079 секунд. Запросов: 20.