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

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

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2010, 14:41   #1
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию Как настроить CODE::Blocks?

Код:
#include <iostream>

using namespace std;

int main()
{
    cout << "Русские буквы!" << endl;
    return 0;
}
выводится в досовской кодировке.
Как настроить чтобы выводились нормальные буквы.
Благодарю.
nusik вне форума Ответить с цитированием
Старый 03.10.2010, 14:52   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

1. Открываешь книгу "С++ для чайников"
2. Открываешь страницу 28
3. Читаешь.
4. Добавляешь мне отзыв.
_-Re@l-_ вне форума Ответить с цитированием
Старый 03.10.2010, 15:09   #3
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
1. Открываешь книгу "С++ для чайников"
2. Открываешь страницу 28
3. Читаешь.
4. Добавляешь мне отзыв.
умный?
Я спросил как настроить среду программирования Code::Blocks так чтобы при выводе в консоль русские буквы отображались нормально.
Использовать 866 кодировку в тексте, потому что в списке выбора кодировок редактора такого варианта кодировок нет.
Надеюсь теперь понятно.
P.S. Я читал Страуструпа тогда когда вы понятия не имели о программировании.
nusik вне форума Ответить с цитированием
Старый 03.10.2010, 15:30   #4
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Как вариант:
Код:
#include <iostream>
#include "windows.h"

using namespace std;

int main()
{
    char s[] = "Текст";
    CharToOem(s,s);
    cout << s << endl;
    return 0;
}
Но зачем?
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 03.10.2010, 15:41   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
умный?
Я спросил как настроить среду программирования Code::Blocks так чтобы при выводе в консоль русские буквы отображались нормально.
Ну млин..
На 28 странице именно это и написано....
Вот, что там написано:
Цитата:
Эта врезка добавлена при переводе книги и рассказывает о небольшой проблеме при создании консольных приложений в CODE::Blocks и её решении.
Дело в том, что по умолчанию в Windows при работе с русским языком используется кодировка Windows-1251, а при работе в консольном окне - кодировка Windows-866.Поэтому при создании консольных приложений весь выводимый русский текст должен быть введён в кодировке Windows-866. В CODE::Blocks пункт меню Settinsgs->Editor позволяет выбрать необходимую кодировку из выпадающего списка.Беда в том, что при всём изобилии вариантов кодировки, Windows-866 в этом списке нет.
Поэтому надо вручную открыть в обчном текстовом редакторе файл конфигурации Application Data\codeblocks\default.conf, который находится в вашей папке Documents and Settings. Чтобы найти его в Проводнике Windows, следует включить опцию показа скрытых файловю Но можно воспользоваться следующим способом:
1. С помощью команды меню Пуск-Программы-CodeBlocks-CB Share Config запустите программу CB Share Config.
2. Щёлкните на кнопке с тремя точками около поля ввода Source Configuration File и в открывшемся окне выберите файл default.conf.
3/ После щелчка на кнопке Open в поле ввода Source Configuration File будет указан полный путь к интересующему нас файлу. Запишите его или просто скопируйте в память.
Далее следует открыть этот файл в WordPad, найти блок <DEFAULT_ENCODING> и исправить его следующим образом:
<DEFAULT_ENCODING>
<str>
<![CDATA[WINDOWS-866]]>
<str>
</DEFAULT_ENCODING>
Сохраняем файл. Готово.
Так-то.
Цитата:
P.S. Я читал Страуструпа тогда когда вы понятия не имели о программировании.
Видать, умнее ты не стал после этого.
_-Re@l-_ вне форума Ответить с цитированием
Старый 27.12.2010, 23:08   #6
Wonderbrown
Новичок
Джуниор
 
Регистрация: 27.12.2010
Сообщений: 1
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
1. Открываешь книгу "С++ для чайников"
2. Открываешь страницу 28
3. Читаешь.
4. Добавляешь мне отзыв.
Да будет Вам известно, что во всём файле конфигурации нигде не встречается строчка <DEFAULT_ENCODING>
поправьте меня, если я не прав
Wonderbrown вне форума Ответить с цитированием
Старый 03.03.2011, 17:57   #7
Strim
Новичок
Джуниор
 
Регистрация: 03.03.2011
Сообщений: 1
По умолчанию

Цитата:
Далее следует открыть этот файл в WordPad, найти блок <DEFAULT_ENCODING> и исправить его следующим образом:
<DEFAULT_ENCODING>
<str>
<![CDATA[WINDOWS-866]]>
<str>
</DEFAULT_ENCODING>
Сохраняем файл. Готово.
_-Re@l-_, все получилось, и строчка в указанном файле есть. Но при запуске CODE::Blocks в файле происходит вновь замена на <![CDATA[WINDOWS-1251]]>

Последний раз редактировалось Strim; 03.03.2011 в 18:29.
Strim вне форума Ответить с цитированием
Старый 23.03.2011, 18:48   #8
DEF29
Новичок
Джуниор
 
Регистрация: 23.03.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Strim Посмотреть сообщение
_-Re@l-_, все получилось, и строчка в указанном файле есть. Но при запуске CODE::Blocks в файле происходит вновь замена на <![CDATA[WINDOWS-1251]]>
Strim и _-Re@l-_
По совету, указанному в книжке настроить нормально не получится. "Специалисты" в редакции видимо сами написали, а по-нормальному проверить свой рецепт так и не удосужились.

В общем самый простой способ, чтобы ничего не менять и нормально работать с Code::Blocks, консолью и русской кодировкой я использую следующий способ:

1) Добавляю директиву #include <locale.h>
2) В main ставлю в самом начале setlocale(LC_CTYPE,"Russian");
вот и все!

Последний раз редактировалось DEF29; 24.03.2011 в 09:15.
DEF29 вне форума Ответить с цитированием
Старый 23.03.2011, 19:03   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

DEF29
Вы не совсем правы. Однажды у меня получилось по их "рецепту" сделать это. Вот только почему-то в последний раз, когда я пользовался Code::Blocks, у меня этот способ не прошёл.
_-Re@l-_ вне форума Ответить с цитированием
Старый 24.03.2011, 09:04   #10
DEF29
Новичок
Джуниор
 
Регистрация: 23.03.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от DEF29 Посмотреть сообщение
Strim и _-Re@l-_
По совету, указанному в книжке настроить нормально не получится. "Специалисты" в редакции видимо сами написали, а по-нормальному проверить свой рецепт так и не удосужились.

В общем самый простой способ, чтобы ничего не менять и нормально работать с Code::Blocks, консолью и русской кодировкой я использую следующий способ:

1) Добавляю директиву #include <locale.h>
2) В main ставлю в самом начале setlocale(LC_CTYPE,"Russian");
вот и все!
Код:
#include <iostream>
#include <locale.h>

using namespace std;

int main()
{
    setlocale(LC_CTYPE,"Russian");
    cout << "Здравствуй Мир!" << endl;
    return 0;
}
DEF29 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
настройка code blocks Armina Общие вопросы C/C++ 4 23.03.2012 14:16
Как подключить GDI+ в code::blocks AxenicX Общие вопросы C/C++ 8 27.12.2009 13:12
как подключить в code::blocks библиотеку ws2_32.lib AxenicX Общие вопросы C/C++ 3 05.12.2009 18:05
Code Blocks [Ap][uTekToP] Общие вопросы C/C++ 6 23.09.2009 20:58
CODE::BLOCKS vvviperrr Софт 0 18.12.2008 19:19