Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 14.03.2020, 23:15   #1
maagalex
Senior Member
 
Аватар для maagalex
 
Регистрация: 25.02.2007
Адрес: &Alex==Israel.BatYam
Возраст: 44
Сообщений: 4,681
Вес репутации: 2476/120
maagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond repute
Отправить сообщение для maagalex с помощью ICQ Отправить сообщение для maagalex с помощью MSN Отправить сообщение для maagalex с помощью Skype™
По умолчанию C и надпись на кириллице..как обойти ограничения компилятора?

Для вывода надписей использую что то вроде Printf("Меню");,
получаю ворнинг illegal character encoding in string literal, результат компиляции кракозябры..
Можно конечно по одной букве заносить в массив ее значением ascii, и потом уже ссылку на него передавать , но может как то поизящней можно?
maagalex вне форума   Ответить с цитированием
Старый 15.03.2020, 07:48   #2
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,919
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от maagalex Посмотреть сообщение
Для вывода надписей использую что то вроде Printf("Меню");,
получаю ворнинг illegal character encoding in string literal, результат компиляции кракозябры..
Можно конечно по одной букве заносить в массив ее значением ascii, и потом уже ссылку на него передавать , но может как то поизящней можно?
может поиграться с перекодировкой?
что нибудь типа
string menu[]....
uncode(&menu)...
Printf(&menu)...

а если в массив писать и его выводить(не по символу, а строкой)?
может компилятор сам его в нужную кодировку переведёт?

у меня народ парился с кодировками..... вообще на высоком уровне косяки были после сборки....пишут на QT(в винде всё нормально)... в линухе собирают- получают мусор.... чего то там с UTF мудрили

Последний раз редактировалось SergP01; 15.03.2020 в 07:58.
SergP01 вне форума   Ответить с цитированием
Старый 15.03.2020, 10:22   #3
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 868
Вес репутации: 1709/64
DmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant futureDmitrijVDN has a brilliant future
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от maagalex Посмотреть сообщение
Для вывода надписей использую что то вроде Printf("Меню");,
получаю ворнинг illegal character encoding in string literal, результат компиляции кракозябры..
Можно конечно по одной букве заносить в массив ее значением ascii, и потом уже ссылку на него передавать , но может как то поизящней можно?
смотря на чем пишешь и куда выводишь....

можно здесь поискать: https://catcatcat.d-lan.dp.ua/skachat/biblioteki/
DmitrijVDN вне форума   Ответить с цитированием
Старый 19.03.2020, 17:41   #4
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,048
Вес репутации: 6060/180
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от DmitrijVDN Посмотреть сообщение
смотря на чем пишешь и куда выводишь.... /
"Куда выводишь" - это да, но не "на чём пишешь", а в чём, в смысле, в каком редакторе.

Компилятор тут вообще не при делах, что дают (на входе), на то и ругается.
момент действительно скользкий...
Greg вне форума   Ответить с цитированием
Старый 22.03.2020, 15:02   #5
Sergey K
Senior Member
 
Регистрация: 23.10.2008
Адрес: Киев
Возраст: 38
Сообщений: 293
Вес репутации: 422/50
Sergey K is just really niceSergey K is just really niceSergey K is just really niceSergey K is just really niceSergey K is just really nice
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Писал для ESP8266 в Platfomio, так єта среда воспринимает файлы как UTF-8 и тот-же printf выводит крякозябри. Пытался пересохранять файл в win1251 FARом, но не помогло. Пришлось писать как "...\xAF\xBC...", хорошо, что у меня текста было мало.
Sergey K вне форума   Ответить с цитированием
Старый 22.03.2020, 16:15   #6
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,048
Вес репутации: 6060/180
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от Sergey K Посмотреть сообщение
Писал для ESP8266 в Platfomio, так єта среда воспринимает файлы как UTF-8 и тот-же printf выводит крякозябри. Пытался пересохранять файл в win1251 FARом, но не помогло. Пришлось писать как "...\xAF\xBC...", хорошо, что у меня текста было мало.
да, об этом и речь, дело в редакторе.
Как пишут, универсальное решение - забить на удобство и писать в utf. Потом правда придется перекодировать в контроллере. Часто оно того, действительно, не стоит.
Greg вне форума   Ответить с цитированием
Старый 11.04.2020, 15:39   #7
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,185
Вес репутации: 4763/134
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от SergP01 Посмотреть сообщение
может поиграться с перекодировкой?
что нибудь типа
string menu[]....
uncode(&menu)...
Printf(&menu)...

а если в массив писать и его выводить(не по символу, а строкой)?
может компилятор сам его в нужную кодировку переведёт?

у меня народ парился с кодировками..... вообще на высоком уровне косяки были после сборки....пишут на QT(в винде всё нормально)... в линухе собирают- получают мусор.... чего то там с UTF мудрили
QT все держит в юникоде и просто правильно перекодировать нужно при приведении qt-шных строковых данных в char.
__________________

Vanizma вне форума   Ответить с цитированием
Старый 11.04.2020, 15:44   #8
Vanizma
Senior Member
 
Аватар для Vanizma
 
Регистрация: 30.04.2008
Адрес: Pskov
Сообщений: 4,185
Вес репутации: 4763/134
Vanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond reputeVanizma has a reputation beyond repute
Отправить сообщение для Vanizma с помощью ICQ
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от maagalex Посмотреть сообщение
Для вывода надписей использую что то вроде Printf("Меню");,
получаю ворнинг illegal character encoding in string literal, результат компиляции кракозябры..
Можно конечно по одной букве заносить в массив ее значением ascii, и потом уже ссылку на него передавать , но может как то поизящней можно?
Если набор строк неизменный runtime - напиши для компа конвертер текстовых строк в двоичные строки, который в их отдельный исходник преобразует, а потом используешь эти строки.
дело 10 минут...
__________________

Vanizma вне форума   Ответить с цитированием
Старый 11.04.2020, 16:15   #9
maagalex
Senior Member
 
Аватар для maagalex
 
Регистрация: 25.02.2007
Адрес: &Alex==Israel.BatYam
Возраст: 44
Сообщений: 4,681
Вес репутации: 2476/120
maagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond repute
Отправить сообщение для maagalex с помощью ICQ Отправить сообщение для maagalex с помощью MSN Отправить сообщение для maagalex с помощью Skype™
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от Vanizma Посмотреть сообщение
Если набор строк неизменный runtime - напиши для компа конвертер текстовых строк в двоичные строки, который в их отдельный исходник преобразует, а потом используешь эти строки.
дело 10 минут...
Да ч выкрутился, использую в проектике sdкарту, так на нее прямо кинул табличку со списком фраз, вызываю их по номеру фразы..
maagalex вне форума   Ответить с цитированием
Старый 11.04.2020, 17:56   #10
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,919
Вес репутации: 923/57
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от maagalex Посмотреть сообщение
Да ч выкрутился, использую в проектике sdкарту, так на нее прямо кинул табличку со списком фраз, вызываю их по номеру фразы..
а причём тут SD карта?
тоже самое, если памяти хватает, можно и в проце сделать...
вам выше написали... сконвертировать в char и подключить...

а я бы проще сделал.... если памяти не жмёт.... то в текстовом редакторе(досовском) набрал бы:
"меню "
"старт "
"отмена "
"установка"
фиксированная длина.... проще искать....

или разной длины- тогда либо индекс писать типа #01Меню,
или смещение в программе...
#define otmena 0x35
SergP01 вне форума   Ответить с цитированием
Старый 11.04.2020, 19:53   #11
maagalex
Senior Member
 
Аватар для maagalex
 
Регистрация: 25.02.2007
Адрес: &Alex==Israel.BatYam
Возраст: 44
Сообщений: 4,681
Вес репутации: 2476/120
maagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond reputemaagalex has a reputation beyond repute
Отправить сообщение для maagalex с помощью ICQ Отправить сообщение для maagalex с помощью MSN Отправить сообщение для maagalex с помощью Skype™
По умолчанию Re: C и надпись на кириллице..как обойти ограничения компилятора?

Цитата:
Сообщение от SergP01 Посмотреть сообщение
а причём тут SD карта?
тоже самое, если памяти хватает, можно и в проце сделать...
вам выше написали... сконвертировать в char и подключить...

а я бы проще сделал.... если памяти не жмёт.... то в текстовом редакторе(досовском) набрал бы:
"меню "
"старт "
"отмена "
"установка"
фиксированная длина.... проще искать....

или разной длины- тогда либо индекс писать типа #01Меню,
или смещение в программе...
#define otmena 0x35
Я сначала констами делал, а потом решил память не расходовать, на карте ее во много раз больше, и все перенес туда)
maagalex вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатель на указатель?..Или как вообще можно управлять указателями из функции? maagalex Общетехнические вопросы 35 03.05.2011 13:03
как осуществить качественный вывод на семисигментные индикаторы ? ZeroCold Продукция MICROCHIP 9 30.04.2011 23:49
Помогите, пожалуйста, найти ошибку в коде Катя Микроконтроллеры других производителей 26 08.12.2007 14:58
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
Подскажите пожалуйста как на dsPic реализовать умножение 16 бит на 32 бита с результатом в 32 бита на Асме. kotlyara Продукция MICROCHIP 9 29.08.2007 10:01


Часовой пояс GMT +3, время: 02:24.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot