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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Cnukep
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 3
#1

Русские символы в Visual Studio - C++

04.07.2013, 19:52. Просмотров 1162. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Проект на си
пишется в Visual Studio 08


Общий смысл проблемы таков :

на вход поступают строки данных в кодировке UTF-8
их нужно разбирать и т.д.

В строке кроме английского алфавита присутствуют и русские буквы
откуда проистекают следующие проблемы :

1.Отображается абракадабра при отладке в VS (как сказать студии шта он не прав?)
2.Слово в 4 символа занимает 8ячеек в массиве char
3.При разборе строки стандартными ф-ями си из ctype.h типа isalpha() происходят ошибки

проблема вывода текста на консоль решилась

SetConsoleCP(65001);
SetConsoleOutputCP(65001);
+ выбор шрифта Lucidia...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2013, 19:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Русские символы в Visual Studio (C++):

Имеются ли отличия в компиляторах у сред разработки Visual Studio 2006 и Visual Studio 2015 ? - C++
скажите а где найти среду 2006 года? или можно использовать 2015 год?

Широкие символы wchar_t wstring не хотят принимать русские символы - C++
Собственно вопрос в шапке, вот примеры: std::wstring str = L"блин комом"; и такое: wchar_t stroka = L"abcdefghijklmnopqrstuvwxyz...

Visual Studio Team Foundation Serverl или Visual Studio Professional - C++
Visual Studio Team Foundation Server 2010 Кто пользовался Visual Studio Team Foundation Server 2010, и чем она отличаеться от Visual...

Какую среду программирования лучше выбрать для обучения языку C++ ? Visual Studio,Visual Basic или Visual C++? - C++
И напишите,чем рекомендуемая вами среда программирования лучше других? Насколько я понял из Википедии они все поддерживают язык...

Русские символы!!!! - C++
Для русских символов я использую библиотеку #include <russian.h> Все работает нормально без using namespace std; #include...

Русские символы - C++
Подскажите пожалуйста как сделать правильный вывод русского алфавита, так как при выводе выдает иероглифы, есть задавать данные изначально,...

4
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 20:29 #2
Чтобы функции ctype.h нормально работали с русскими буквами нужно добавить и setlocale. И ещё... Символы, для функций ctype.h, приводить к unsigned char.

Добавлено через 57 секунд
Цитата Сообщение от Cnukep Посмотреть сообщение
на вход поступают строки данных в кодировке UTF-8
Из файла?
0
Cnukep
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 3
04.07.2013, 22:00  [ТС] #3
из длл-ки

Добавлено через 5 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
Чтобы функции ctype.h нормально работали с русскими буквами нужно добавить и setlocale. И ещё... Символы, для функций ctype.h, приводить к unsigned char.

Добавлено через 57 секунд

Из файла?


нужен конкретный код
потому как я пробовал разные вариации сетлокалов

да и студия кракозябры рисует
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 22:36 #4
Цитата Сообщение от Cnukep Посмотреть сообщение
нужен конкретный код
Свой покажите.
0
Cnukep
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 3
05.07.2013, 13:09  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Свой покажите.
завтра сделаю имитацию в пару строчек

Добавлено через 12 часов 11 минут
Интересно что в описании длл-ки которая шлет данные

функция - приемник описывается как

typedef bool (*tcallback)(BYTE* pData);


тоесть получаем * на BYTE а байт-это unsigned char

значит ли это что код любого символа здесь вмещается в unsigned char?
а если нет почему был вабран именно BYTE а байт-это unsigned char а не двухбайтовый w_char?
0
05.07.2013, 13:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2013, 13:09
Привет! Вот еще темы с ответами:

Русские символы - C++
Написал программу. Компилю из под cygwin g++. Ругается: 4.cpp:27:18: предупреждение: многознаковая символьная константа if((str...

Не подсчитывает русские символы - C++
Не пойму в чём загвостка; логически вроде всё верно: #include <iostream> #include <fstream> #include <cstdlib> #include <stdexcept>...

Case и русские символы - C++
Здравствуйте, Есть массив char text в котором лежат буквы. При проверке лежит ли в данном месте определённая буква,компилятор...

Не выводятся русские символы - C++
Программа не может вывести русские символы, но если оставить только функцию main то все отображается нормально #include <iostream> ...


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

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

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