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

Ввод кириллицы в С++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
CHELOVEKPAUK
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
15.08.2013, 17:42     Ввод кириллицы в С++ #1
При вводе значения переменной типа string или char кириллицей всегда выдает кракозябры.
setlocale помогает только для вывода (cout,printf работают безотказно).
Ничего не нашел полезного в гугле, везде либо предлагают изменить раскладку на досовскую 866 (работает до первого сохранения .срр файла), либо какие то сложные и непонятные функции. Как лечить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 17:42     Ввод кириллицы в С++
Посмотрите здесь:

Поиск кириллицы в строке. C++
C++ Вывод кириллицы
C++ Обработка кириллицы
C++ Перевод с кириллицы на русский
C++ Запись кириллицы в массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
16.08.2013, 09:15     Ввод кириллицы в С++ #21
Среда программирования? Какая кодировка в редакторе и консоле?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CHELOVEKPAUK
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
16.08.2013, 12:48  [ТС]     Ввод кириллицы в С++ #22
Цитата Сообщение от vua72 Посмотреть сообщение
Среда программирования? Какая кодировка в редакторе и консоле?
Цитата Сообщение от Dragokas Посмотреть сообщение
CHELOVEKPAUK, а в стандартных диалогах Windows с русским текстом проблем нет?
Цитата Сообщение от alsav22 Посмотреть сообщение
CHELOVEKPAUK, среда какая, ОС какая? Как настройки шрифта в консоли делаете? Как .exe запускаете? Скрин покажите с выводом этого кода и что вводите.
Держите скрин
Миниатюры
Ввод кириллицы в С++  
Hugra
 Аватар для Hugra
47 / 47 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
16.08.2013, 12:53     Ввод кириллицы в С++ #23
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Держите скрин
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <Windows.h>
 
#define rus SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
using std::cout; using std::cin; using std::endl;
using std::string;
 
int main()
{
    rus;
    string text;
    cout << "Вывод данных через cout/printf работает хорошо\n";
    getline(cin,text);
    cout << "А вот вывод введенных данных не очень:\n";
    cout << text << "\n\n";
    system("PAUSE");
    return 0;
}
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 687
16.08.2013, 12:55     Ввод кириллицы в С++ #24
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Держите скрин
#include <Windows.h>

SetConsoleCP(1251);
SetConsoleOutputCP(1251);
alsav22
16.08.2013, 13:04
  #25

Не по теме:

CHELOVEKPAUK, вы посты, вообще, читаете? Уже столько раз было написано всё...

Tulosba
16.08.2013, 13:41
  #26

Не по теме:

alsav22, вот так и разбухают темы на ровном месте.

CHELOVEKPAUK
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
16.08.2013, 13:49  [ТС]     Ввод кириллицы в С++ #27
Цитата Сообщение от Hugra Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <Windows.h>
 
#define rus SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
using std::cout; using std::cin; using std::endl;
using std::string;
 
int main()
{
    rus;
    string text;
    cout << "Вывод данных через cout/printf работает хорошо\n";
    getline(cin,text);
    cout << "А вот вывод введенных данных не очень:\n";
    cout << text << "\n\n";
    system("PAUSE");
    return 0;
}
Спасибо, вот это помогло. А до этого почему то не получалось с setconsole без define.
alsav22
16.08.2013, 13:49
  #28

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:

alsav22, вот так и разбухают темы на ровном месте.

Да, уж...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2013, 14:09     Ввод кириллицы в С++
Еще ссылки по теме:

Сортировка кириллицы C++
Ввод кириллицы в консоли C++
C++ Ввод/вывод кириллицы через консоль

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
16.08.2013, 14:09     Ввод кириллицы в С++ #29
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
А до этого почему то не получалось с setconsole без define.
Если убрать строку 5, а вместо 12ой написать:
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
результат будет тот же. И дефайн тут не причем.
Для решения проблемы достаточно было прочитать сообщение #3.
Будьте внимательнее в будущем.
Yandex
Объявления
16.08.2013, 14:09     Ввод кириллицы в С++
Ответ Создать тему
Опции темы

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