Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HelioSS
ну пиши русский текст в 866-ой кодировке...

Всего записей: 25651 | Зарегистр. 06-12-2002 | Отправлено: 23:55 03-06-2012 | Исправлено: akaGM, 23:57 03-06-2012
HelioSS



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
ну пиши русский текст в 866-ой кодировке...


Вот для этого и создан форум!
Типа разобраться то хочется.

Всего записей: 6165 | Зарегистр. 26-11-2007 | Отправлено: 18:06 04-06-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#include <stdio.h>
#include <windows.h>
#include <locale.h>
   
void main() {
  setlocale(LC_ALL, ".1251");
  printf("\nя плохо гаварю па руски...\n");
  printf("\nХелло ворлд!\n");
  printf("\nп Ї<RеR _ ў ао Ї  агбЄЁ...\n");
  printf("\n_<<R ўRа<¤!\n");
  getch();
}
ну вот у меня, например, такой код работает...
причём в англйской винде и в нерусской локали...

Всего записей: 25651 | Зарегистр. 06-12-2002 | Отправлено: 18:20 04-06-2012
HelioSS



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
akaGM

Цитата:
ну вот у меня, например, такой код работает...

Не работает.
Может стоит учесть компилятор? У меня GCC. Может его что-то не устраивает?

Всего записей: 6165 | Зарегистр. 26-11-2007 | Отправлено: 18:27 04-06-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HelioSS
да, действительно, то что я написал на гнуси не работает...

Код:
#include <stdio.h>
#include <windows.h>
#include <locale.h>
   
void main() {
  SetConsoleOutputCP(1251);
  setlocale(LC_ALL, ".1251");
  printf("\nя плоха гаварю па руски...\n");
  printf("\nХелло ворлд!\n");
  printf("\nп Ї<Rе  _ ў ао Ї  агбЄЁ...\n");
  printf("\n_<<R ўRа<¤!\n");
  getch();
}
а вот так очень даже русифицирует :)
 
проверено под ФАРом и cmd

Всего записей: 25651 | Зарегистр. 06-12-2002 | Отправлено: 18:51 04-06-2012 | Исправлено: akaGM, 19:04 04-06-2012
HelioSS



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Кроме положенных
Цитата:
printf("\nп Ї<Rе  _ ў ао Ї  агбЄЁ...\n");  
   printf("\n_<<R ўRа<¤!\n");

всё остальное как обычно кракозябрами

Всего записей: 6165 | Зарегистр. 26-11-2007 | Отправлено: 19:23 04-06-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HelioSS
ну можно, конечно, последнее попробовать:
SetConsoleCP(1251);
 
мои кракозябры -- это 866
а шрифт какой стоит? а винда? а винда ли? а камень какой? :)

Всего записей: 25651 | Зарегистр. 06-12-2002 | Отправлено: 19:42 04-06-2012
HelioSS



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
ну можно, конечно, последнее попробовать:  
 SetConsoleCP(1251);

Пробовал уже
 

Цитата:
мои кракозябры -- это 866

Это понятно.
 

Цитата:
а шрифт какой стоит?

Весь смысл сделать  так, чтобы не надо было руками шрифт менять. Согласны со мной? Тем более, что рабочий пример я уже вроде как показал.

Цитата:
 а винда?  

WinXP SP3

Всего записей: 6165 | Зарегистр. 26-11-2007 | Отправлено: 19:57 04-06-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HelioSS

Цитата:
Весь смысл сделать  так, чтобы не надо было руками шрифт менять. Согласны со мной?

согласен, но если ты используешь какой-нибудь растровый из виндов, то ничего у тебя не выйдет, не перекодируя в ОЕМ...

Всего записей: 25651 | Зарегистр. 06-12-2002 | Отправлено: 20:13 04-06-2012
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HelioSS

Цитата:
Весь смысл сделать  так, чтобы не надо было руками шрифт менять.

То есть, вопрос сводится к "как вывести строку в кодировке 1251 шрифтом, который 1251 не поддерживает"?


----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6107 | Зарегистр. 22-10-2005 | Отправлено: 20:27 04-06-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HelioSS
кстати, можешь погеморройничать с консолью как с обычным окном, меняя в нём фонт на лету через соотвествующие консольные АПИ-функции...

Всего записей: 25651 | Зарегистр. 06-12-2002 | Отправлено: 17:48 05-06-2012
HelioSS



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62

Цитата:
То есть, вопрос сводится к "как вывести строку в кодировке 1251 шрифтом, который 1251 не поддерживает"?
akaGM

Цитата:
кстати, можешь погеморройничать с консолью как с обычным окном, меняя в нём фонт на лету через соотвествующие консольные АПИ-функции...

 
Ребята, ну вопрос, впринципе, просто в том, чтобы оптимизировать нормально работающий код

Всего записей: 6165 | Зарегистр. 26-11-2007 | Отправлено: 22:09 05-06-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru