Локаль ""

интернет программирование Linux windows кодировка

С локалью "" выводится cout'ом в иной кодировке - не в CP1251 как он пишет в возращаемом значении setlocale, почему? Проверяю на различие через SetConsoleCP(1251); и закоммент. setlocale, но абракадабры разнятся!

int main()
{
char* str1 = setlocale(LC_ALL, "C");

char arr[20];
cin >> arr;
cout << arr << endl;

getch();
return 0;
}

Примечание:
с "С" локалью всё нормально - CP866, но с "" непонятно на какую кодировку меняется, тк, как написал выше, разница выводов с SCCP(1251)

Примечание:
*замечу, шрифт Lucida Cons поддерживает обе(866, 1251), проверяю через него

Примечание:
блин чета баллов накрутить забыл, но они не так и нужны - репы-то все равно +4 дадут :]

Примечание:
char* str1 = setlocale(LC_ALL, "rus_rus.1251");

SetConsoleCP(866);
SetConsoleOutputCP(866);

не взаимокомпенсируется(в плане код страниц) почему-то, чё эти локали-то делают, кодировки-то и форматы всяческие-то понятное дело меняют, но на чё(возвр. зн-ие безбожно врёт)?

Примечание:
ааа, кажись понял

эта хератень для того чтобы функции получали перекодированные переменные/константы/др и др. локальные настройки(форматы _чего-то_ у страны, гр.гвря) исходя из её второго аргумента

говнь вобщим

Примечание:
что-то типа:
имеем проект в кодировке 1251, вызываем ф-ю с параметром "Russian" - получаем аргументы всего проекта в кодировке консоли - 866

ЗЫ спс за помощь, линуксоеды как всигда на высоте
Ответы:
Чем iconv не устраивает?


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.