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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2013, 20:11   #1
FLEXO_187
 
Регистрация: 24.01.2013
Сообщений: 8
Печаль Проблемы с кодировкой в Microsoft Visual Studio 2010

Пишу прогу,которая позволяет заполнить базу данных информацией об автобусе(номер маршрута,фио водителя,номер автобуса,местоположение автобуса(в парке/на маршруте),вывести введенную информацию,установить местоположение для автобуса "Автобус в парке",установить местоположение автобуса "На маршруте",вывести информацию об автобусах "В парке"/"На маршруте".Все организуется линейным списком(проект в Microsoft Visual Studio 2010 прикреплен).Я в поле Инициалы водителя(тип стринг) через указатель с помощью getline заношу фио водителя по русски(new_note->Name_Initials),а при выводе на экран выводится абракадабра вместо введенного текста.Тоже самое в методе вывода информации об автобусах "В парке"/"На маршруте"(show_location(string User_Location)),когда я ввожу с помощью getline в переменную User_location,то туда записывается абракадабра вместо русского текста,соответственно обрабатывается не как русский текст и переходит на исключение(Range3).Нужна помощь!Остальное все работает без проблем,только здесь косяк
FLEXO_187 вне форума Ответить с цитированием
Старый 16.04.2013, 20:53   #2
Ghost3
Ученик в c++
Форумчанин
 
Аватар для Ghost3
 
Регистрация: 28.02.2011
Сообщений: 162
По умолчанию

Абракадабра вместо русских символов? Тоже было, нашел такой способ, попробуйте:

Код:
#include <locale.h>

int main()
{
setlocale(LC_ALL,"Rus");
//...
//тут программа =)
//...
}
Ghost3 вне форума Ответить с цитированием
Старый 16.04.2013, 21:26   #3
FLEXO_187
 
Регистрация: 24.01.2013
Сообщений: 8
По умолчанию

не помогает.SetConsoleCP(1251) и SetConsoleOutput(1251) тоже не помогает
FLEXO_187 вне форума Ответить с цитированием
Старый 16.04.2013, 21:29   #4
Ghost3
Ученик в c++
Форумчанин
 
Аватар для Ghost3
 
Регистрация: 28.02.2011
Сообщений: 162
По умолчанию

Скиньте пожалуйста скриншоты где выводится абракадабра и ту часть, куда вписали мой код, просто посмотреть хочу, мб в голову что вспомнится.
Ghost3 вне форума Ответить с цитированием
Старый 16.04.2013, 21:41   #5
FLEXO_187
 
Регистрация: 24.01.2013
Сообщений: 8
По умолчанию

вот скрины
Вложения
Тип файла: rar Скрины.rar.rar (679.1 Кб, 14 просмотров)
FLEXO_187 вне форума Ответить с цитированием
Старый 16.04.2013, 21:56   #6
Ghost3
Ученик в c++
Форумчанин
 
Аватар для Ghost3
 
Регистрация: 28.02.2011
Сообщений: 162
По умолчанию

Хм. То, что выводится абракадоброй - хранится в каком-то текстовом файле? Если да, то попробуйте пересохранить текстовый документ в другой кодировке
Ghost3 вне форума Ответить с цитированием
Старый 16.04.2013, 21:57   #7
FLEXO_187
 
Регистрация: 24.01.2013
Сообщений: 8
По умолчанию

В данной программе я с текстовыми файлами не работаю
FLEXO_187 вне форума Ответить с цитированием
Старый 16.04.2013, 22:26   #8
FLEXO_187
 
Регистрация: 24.01.2013
Сообщений: 8
По умолчанию

Вообщем решил проблему,теперь все четко работает,всем спасибо за помощь
Если работать с русским текстом,вводимым с клавиатуры,то непосредственно перед строчкой ввода строковой переменной нужно поставить SetConsoleCP(1251),а сразу после строчки ввода поставить SetConsoleCP(866)!Ну и еще нужно подключить библиотеку Windows.h!В переменной юудет храниться введенный текст,а не китайские иероглифы
FLEXO_187 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Microsoft Visual Studio 2010 Митовей Общие вопросы C/C++ 5 13.04.2015 13:26
Работа в Microsoft Visual Studio 2010 Арабелит Visual C++ 5 22.01.2012 02:38
Проблемы в Microsoft Visual Studio FIREVISTA Visual C++ 11 02.07.2010 17:09