1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 31
|
||||||
1 | ||||||
Русские символы при выводе массива структуры13.05.2014, 22:27. Показов 8515. Ответов 18
Метки нет (Все метки)
Добрый вечер. Проблема такая: есть структура, в которой присутствует поле lastname[20] типа char, при выводе которого в консоле вместо кириллицы появляются какие-то непонятные символы, хотя оператор setlocale(LC_CTYPE,"Rus") в начале функции я указал. Вот, собственно, код:
0
|
13.05.2014, 22:27 | |
Ответы с готовыми решениями:
18
При выводе массива выводятся лишние непонятные символы Отображаются лишние символы при выводе массива символов При выводе двумерного символьного массива много непонятного мусора, либо непонятные символы Русские символы при выводе из файла на консоль без использования BufferedReader |
Заблокирован
|
||||||
13.05.2014, 23:50 | 4 | |||||
Чтобы не писать гору кода по руссификации рекомендую вводить и работать с широкими символами, будешь приятно удивлён
2
|
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 31
|
|
14.05.2014, 00:32 [ТС] | 5 |
Понял. Спасибо большое.
З.Ы. Студию юзаю 2012 ультимейт.
0
|
2 / 2 / 0
Регистрация: 13.05.2014
Сообщений: 8
|
||||||
18.05.2014, 15:12 | 6 | |||||
Попробовал применить такое решение. Что-то не получилось.
Возможно, в настройках CodeBlocks что-то нужно изменить?
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
18.05.2014, 15:20 | 7 |
0
|
2 / 2 / 0
Регистрация: 13.05.2014
Сообщений: 8
|
||||||
18.05.2014, 16:18 | 8 | |||||
Так работает. Благодарю!
Добавлено через 38 минут Обнаружил, что в функциях объявленных до main выдает такую ошибку:
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
18.05.2014, 16:23 | 9 |
Покажи этот фрагмент "вне функции".
0
|
2 / 2 / 0
Регистрация: 13.05.2014
Сообщений: 8
|
|
18.05.2014, 16:30 | 10 |
Имею ввиду, что объявление функций происходит до main, в main же только вызовы. Так вот wcout из этих функций выдается как на приведенном скрине.
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
18.05.2014, 16:43 | 11 |
Ты что-то неправильно пишешь, L - это просто признак wide-строки, не важно где расположен.
Поэтому и говорю, покажи.
0
|
2 / 2 / 0
Регистрация: 13.05.2014
Сообщений: 8
|
|||||||||||
18.05.2014, 16:56 | 12 | ||||||||||
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
18.05.2014, 17:01 | 13 |
Надо убрать пробел между L и строкой
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
18.05.2014, 17:06 | 14 |
Я же говорю, что неправильно написал.
0
|
2 / 2 / 0
Регистрация: 13.05.2014
Сообщений: 8
|
||||||
18.05.2014, 17:22 | 15 | |||||
Убрал, но ничего не изменилось..
Вот весь листинг. Кликните здесь для просмотра всего текста
Не хочу показаться наглецом, но моет взглянете так же на последнюю функцию. Запутался я в циклах и условиях. А тему создать не могу отдельную.
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
||||||
18.05.2014, 17:53 | 16 | |||||
С учетом замены объявления char на wchar_t
0
|
2 / 2 / 0
Регистрация: 13.05.2014
Сообщений: 8
|
||||||
18.05.2014, 18:47 | 17 | |||||
При использовании этого кода, компилятор ругается на каждую строку, где встречается wcout:
upd. заголовочный <cwchar> тоже добавлен
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
18.05.2014, 18:48 | 18 |
В свойствах проекта установите Уникод!
Проект->Свойства->Свойства конфигурации ->Общие -> Набор знаков -> Использовать уникод.
0
|
2 / 2 / 0
Регистрация: 13.05.2014
Сообщений: 8
|
|
18.05.2014, 21:48 | 19 |
Это настройки для Visual Studio? Скомпилировал код в этой среде, но ошибок получил еще больше, чем в Code::Blocks'e. Уже не рад, что заглянул сегодня в эту тему
Хочется доделать этот проект в привычной среде, может подскажете где включить использование unicode в кодблоксе? Добавлено через 2 часа 11 минут upd. zss вам отдельное спасибо за функцию!
0
|
18.05.2014, 21:48 | |
18.05.2014, 21:48 | |
Помогаю со студенческими работами здесь
19
Лишние символы при выводе только что считанного массива Массив: Почему у меня при выводе массива отражаются только первые символы каждой строки, а не вся она целиком? Русские буквы при выводе на консоль Не так выглядят русские буквы при выводе в файл. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |