Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 22.03.2009
Сообщений: 16
1

Кодировки в С++

02.06.2011, 23:56. Показов 2703. Ответов 4
Метки нет (Все метки)

Подскажите... Пытаюсь разобраться с кодировками в С++ на простом примере...Как заставить С++ принимать русские слова и при вводе и при выводе?
Код
#include "stdafx.h"
#include <windows.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
///SetConsoleCP(1251);
 ////SetConsoleOutputCP(1251);///Работают, но лишь при смене шрифтом на Люсиду Консоль
setlocale( LC_ALL,"Russian" );
cout<<"Здравствуйте\n\n\n"<<setw(3);

char a[10];

cin>>a;
cout<<"Здравствуйте, "<<a<<", Доброго дня Вам"<<setw(3);

	  _getch();
	return 0;
}
СЭТЛОКЕЙЛ русифицирует только приветствие первое, а не переменную "а"...
Пробовал вставить
CharToOem((LPCWSTR)a,a);
в сочетании с сетлокейлом результата не дает, без него русифицирует исключительно переменную "а"...
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2011, 23:56
Ответы с готовыми решениями:

В чём отличия кодировки ms dos от кодировки ms windows?
Всем привет, подскажите в чём отличия кодировки ms dos от кодировки ms windows?

Кодировки (ошибки кодировки) в логировании
Здравствуйте. Работаю с WINAPI и оттуда нормально приходят наименования на русском. Вот решил...

Кодировки
Собстно с кодировками получилась полная хрень. Какой-то коктель из кодировок.. ) ...

Кодировки
Подскажите, где какие кодировки выбирать при создании базы данных и таблицы в phpMyAdmin на денвере...

4
0 / 0 / 1
Регистрация: 03.05.2011
Сообщений: 10
03.06.2011, 00:16 2
не уверен, что есть способ без переключения шрифтов на Люсиду.
Можно так, но все равно надо переключать шрифт
C++
1
system ("chcp 1251");
0
0 / 0 / 0
Регистрация: 22.03.2009
Сообщений: 16
03.06.2011, 00:20  [ТС] 3
Да без переключения еще пара способов работают. просто хочется сделать нечто что не потребует от пользователя загадочных для него действий типа переключения шрифтов
0
249 / 231 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
03.06.2011, 00:38 4
C++
1
2
3
4
setlocale( LC_ALL,"Russian" );
SetConsoleCP(1251);//временно меняем кодировку ввода
cin.getline(srcStr,255);//забираем строку в правильной кодировке
SetConsoleCP(866);//меняем кодировку ввода назад
попробуй так...так будет по идее правильно забираться рус текст и выводиться тоже,
но деготь в том что каждый раз при вводе строки придется шаманить со сменой кодировки
0
0 / 0 / 0
Регистрация: 22.03.2009
Сообщений: 16
03.06.2011, 00:53  [ТС] 5
Цитата Сообщение от m1Rr0r Посмотреть сообщение
C++
1
2
3
4
setlocale( LC_ALL,"Russian" );
SetConsoleCP(1251);//временно меняем кодировку ввода
cin.getline(srcStr,255);//забираем строку в правильной кодировке
SetConsoleCP(866);//меняем кодировку ввода назад
попробуй так...так будет по идее правильно забираться рус текст и выводиться тоже,
но деготь в том что каждый раз при вводе строки придется шаманить со сменой кодировки
А что значит
cin.getline(srcStr,255)....?
всмысле в какую переменную то мы записываем результат?..мне нужно в char a, к примеру
переписал как cin.getline(а,255), не работает, квакозябра все равно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2011, 00:53

Кодировки
Здравствуйте! У меня такая проблема, если я заполняю базу через html-форму и потом вывожу,тогда...

Кодировки
Как создать текстовый файл с русскими буквами (там видимо расширение нужно какое нибудь), и чтобы...

Кодировки
При помощи библиотеки jquery передаю пост запрос пхп и результат вывожу в &lt;div&gt; ... Русская...

Кодировки
Доброе время суток. Я делаю RSS aggregator. Как входные данные, на него подаются url feeds, я их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.