Setlocale lc all rus

char *setlocale(int category, const char *locale);

The argument locale is a pointer to a character string containing the
required setting of category. Such a string is either a well-known
constant like "C" or "da_DK" (see below), or an opaque string that was
returned by another call of setlocale().

A locale name is typically of the form language[_territory][.code-set][@modifier], where language is an ISO 639 language code, territory is an ISO 3166 country code, and codeset is a character set or encoding identifier like ISO-8859-1 or UTF-8. For a list of all supported locales, try "locale -a", cf. locale(1).

On startup of the main program, the portable "C" locale is selected as default. A program may be made portable to all locales by calling:

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

К примеру, если мы напишем такой код на С++

То после компиляции, вот что будет выдавать нам консольное окно программы.

Если же мы будем использовать функцию setlocale() внутри функции main()

То получим вместо иероглифов нормальный русский шрифт, вуаля:

Также, можно опустить последний аргумент функции — setlocale(LC_ALL, "Russian"); можно заменить на setlocale(0, ""); — работоспособность программы от этого не изменится.

C++: Русский язык в консоли

Все, кто начинает программировать на С++ сталкиваются с такой неприятностью — по-русски в консоли не напишешь. C одной стороны это может быть и хорошо — английский подучишь, но это все-таки снизит ваше внимание, и вам будет сложно разбираться в своей же программе. Исправляет эту досадность всего одна строчка кода:

Это надо написать внутри любой функции.

Все гениальное просто.
UPD Уфф. Я нашел способ, влияющий на введенный текст.
Есть 2 способа:
1. Если у вас Visual Studio, то:

Читайте также:  Win xp sp3 lite

2. А если у вас другая IDE(Codeblocks, Dev C++) то:
Вывод: Винда — говно, а это решение — непростое, потому что нет в винде ничего гениального. :p

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *