Форум программистов, компьютерный форум CyberForum.ru

Ввод русских символов. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 116, средняя оценка - 5.00
Naglus
 Аватар для Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:14     Ввод русских символов. #1
Здравствуйте, простите пожалуйста что отвлекаю, я хотел бы спросить как сделать так, что бы русские символы можно было вводить?

Я вот так вот попробывал сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
int main(){
    setlocale(LC_ALL, "Russian");
    const int bukvu = 20;
    char slovo[bukvu];
while(true){    
    cout<<"Введите слово: ";
    cin.getline(slovo, bukvu);
    cout<<"Поидее сдесь должно быть слово: "<<slovo<<endl;
    system("pause");
    cout<<endl;
}
return 0;
}
при выводе введённой информации она отображаеться каракулями.
Подскажите пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
term1t
 Аватар для term1t
25 / 25 / 2
Регистрация: 04.03.2011
Сообщений: 61
19.04.2011, 12:18     Ввод русских символов. #2
может так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int bukvu = 20;
    char slovo[bukvu];
while(true){    
    cout<<"Введите слово: ";
    cin.getline(slovo, bukvu);
    cout<<"Поидее сдесь должно быть слово: "<<slovo<<endl;
    system("pause");
    cout<<endl;
}
        return 0;
}
Naglus
 Аватар для Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:22  [ТС]     Ввод русских символов. #3
Цитата Сообщение от term1t Посмотреть сообщение
может так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int bukvu = 20;
    char slovo[bukvu];
while(true){    
    cout<<"Введите слово: ";
    cin.getline(slovo, bukvu);
    cout<<"Поидее сдесь должно быть слово: "<<slovo<<endl;
    system("pause");
    cout<<endl;
}
        return 0;
}
Так вобще одни символы непонятные.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 12:24     Ввод русских символов. #4
У меня ни то, ни другое не работало(RAD Studio 2010), решил проблему с помощью этого поста:
Русские шрифты в консоли
term1t
 Аватар для term1t
25 / 25 / 2
Регистрация: 04.03.2011
Сообщений: 61
19.04.2011, 12:25     Ввод русских символов. #5
У меня работает, попробуйте сменить шрифт в консоли
Naglus
 Аватар для Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:31  [ТС]     Ввод русских символов. #6
Ох блин ничо непонимаю.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 12:36     Ввод русских символов. #7
Просто вставляете в код эту функцию, и далее пишете весь русский текст с помощью Rus("Слово")
Например:
C++
1
cout << Rus("Привет, мир!");
Naglus
 Аватар для Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:47  [ТС]     Ввод русских символов. #8
Цитата Сообщение от diagon Посмотреть сообщение
Просто вставляете в код эту функцию, и далее пишете весь русский текст с помощью Rus("Слово")
Например:
C++
1
cout << Rus("Привет, мир!");
А с функцией cin как?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 12:49     Ввод русских символов. #9
C++
1
2
cin >> string;
cout << Rus(string);
Naglus
 Аватар для Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 12:52  [ТС]     Ввод русских символов. #10
У меня вобще с этим Рус неработатет ничо

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
#include<windows.h>
using namespace std;
int main(){
 
    cin >> string;
    cout << Rus(string);
    system("pause");
    return 0;
}
наверно эт неправильно.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.04.2011, 13:02     Ввод русских символов. #11
Вы саму функцию не вставили..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream.h>
#include<windows.h>
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
 
 
int main()  {
    char string[256];
    cin >> string;
    cout << endl <<string;
    return 0;
}
Добавлено через 5 минут
Впрочем это лично у меня и без функции работает
Naglus
 Аватар для Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 13:57  [ТС]     Ввод русских символов. #12
Спасибо большое!

Добавлено через 22 минуты
а как тогда сделать вывод по русски?

Добавлено через 2 минуты
а всё спасибо я понял.

Добавлено через 9 минут
А если мне нужно ввести несколько слов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<windows.h>
using namespace std;
char bufRus[256];
 
char* Rus(const char* text) {
          CharToOem(text, bufRus);
          return bufRus;
          }
 
 
 
int main()  {
        char string[256];
while(true){        
        cout<<Rus("Введите слово(а): ");
        cin.get(string, (что сдесь надо написать чтобы можно было ввести предложение?) ).get();
        cout<<endl<<Rus("Поидее сдесь должно(ы) быть слово(а) : ")<<string<<endl;
        system("pause");
        cout<<endl;
}
return 0;
}
непонимаю.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
19.04.2011, 14:03     Ввод русских символов. #13
зачем вообще заморачиваться с кириллицей?)
Naglus
 Аватар для Naglus
3 / 3 / 0
Регистрация: 04.04.2011
Сообщений: 40
19.04.2011, 14:07  [ТС]     Ввод русских символов. #14
Всем спасибо, я всё понял, вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<windows.h>
using namespace std;
char bufRus[256];
 
char* Rus(const char* text) {
          CharToOem(text, bufRus);
          return bufRus;
          }
 
 
 
int main()  {
        char string[256];
while(true){        
        cout<<Rus("Введите слово(а): ");
        cin.get(string, 256).get();
        cout<<endl<<Rus("По идее здесь должно(ы) быть слово(а): ")<<string<<endl;
        system("pause");
        cout<<endl;
}
return 0;
}
Muhammed_Sulaye
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 12
20.01.2012, 03:29     Ввод русских символов. #15
А в каком С++ вы работаете? ато у меня Turbo C++ IDE какой-то что-ли, и ни библиотеки windows.h не находит ни using namespase не понимает... Или это я туплю, обьясните пожалуйста
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
20.01.2012, 03:31     Ввод русских символов. #16
Muhammed_Sulaye, выкинь бяку и поставь... ну студию хотя бы.
Muhammed_Sulaye
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 12
20.01.2012, 03:36     Ввод русских символов. #17
а есть ссылка на скачивание?
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
20.01.2012, 03:47     Ввод русских символов. #18
Как обычно...
Muhammed_Sulaye
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 12
20.01.2012, 04:11     Ввод русских символов. #19
Я все понимаю, но у меня сейчас скорость И-нета 0.1 Кб/с и по этому я был бы очень благодарен за ссылку на проверенный сайт с провереной установкой.
эту версию я тоже скачивал, что было для меня проблематично
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2012, 04:26     Ввод русских символов.
Еще ссылки по теме:

C++ Ввод русских символов в консоли
C++ Замена русских символов пробелами
C++ Ввод русских букв

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

Или воспользуйтесь поиском по форуму:
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
20.01.2012, 04:26     Ввод русских символов. #20
Кхм... С такой скоростью качаться будет очень долго, я смутно себе представляю размер студии нынче, но весьма дофига. Как-то так
Yandex
Объявления
20.01.2012, 04:26     Ввод русских символов.
Ответ Создать тему
Опции темы

Текущее время: 03:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru