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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2010, 00:33   #1
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию Не срабатывание русской кодировки при вводе символов с клавиатуры

Что-то престал работать русский ввод.
Не срабатывает простая прога, при вводе слова клоун на русском, программа не выдаёт сообщение каут, хотя я прописал вот такую строку setlocale(LC_ALL,"C"); Чтоб ввод с клавиатуры был на русском.
Вот пробую код для демонстрации.
Код:
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;

int main() {
	setlocale(0,"");
	string a = "клоун";
	cout<<"Введите слово -->";
	setlocale(LC_ALL,"C");
	cin>>a;
   	if(a=="клоун")
		cout<<"Ты точно настоящий клоун ";
	

getch();
}
Syltan вне форума Ответить с цитированием
Старый 24.05.2010, 08:59   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
setlocale(LC_ALL,"C"); Чтоб ввод с клавиатуры был на русском.
Что за бред? setlocale( LC_ALL, "Russian" );
p51x вне форума Ответить с цитированием
Старый 24.05.2010, 15:53   #3
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Хорошо ,как сделать ввод на русском, чтоб при вводе русского выдавало каут?
Syltan вне форума Ответить с цитированием
Старый 24.05.2010, 16:11   #4
bullvinkle
Временно — юрист.
Форумчанин
 
Аватар для bullvinkle
 
Регистрация: 31.03.2008
Сообщений: 204
По умолчанию

Цитата:
Код:
#include <iostream>
#include <clocale> //для std::setlocale()
int main()
{
   std::setlocale(LC_ALL, "");
   std::wcout << L"Привет мир!" << std::endl;}
Это выдрал с форума винграда, но сейчас меня туда хром не пускает, мол небезопасное место. Так что ссылка на свой страх и риск http://forum.vingrad.ru/index.php?sh...post&p=2086699
bullvinkle вне форума Ответить с цитированием
Старый 24.05.2010, 17:28   #5
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Чего-то не работает всё равно.
Syltan вне форума Ответить с цитированием
Старый 24.05.2010, 19:16   #6
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Вот так оказывается нужно.
Код:
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;

int main() {
/*
locale - это класс
salo - это объект
"russian_Russia.866" - это параметры для объекта
global(loc) означает область видимости
метода глобал в классе под названием locale

*/
locale salo("russian_Russia.866"); 
locale::global(salo); 
wstring text; 
wcout<<L"Введи слово: "<<endl; 
wcin>>text;
setlocale(0,"");
if(text==L"клоун")
wcout<<text; 


  getch();
}
Syltan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозаполнение при вводе пару символов Syltan Операционные системы общие вопросы 2 20.05.2010 16:51
Убрать пробелы при вводе выражения с клавиатуры denisgl Помощь студентам 0 18.05.2010 19:50
Подключение русской кодировки в ERAD Stiduo 2010 Neurogenus Общие вопросы C/C++ 1 15.05.2010 16:46
Некорректное отображение русской кодировки VB 6/VBA kambeyq Помощь студентам 1 22.03.2010 16:16
TurboC - баг при вводе строки с клавиатуры FW-TOT Общие вопросы C/C++ 4 21.11.2008 01:39