вы про что? про errno что-ли? дык там вообще всё что угодно может быть
дело в том, что errno устанавливается только после ошибке, а если всё хорошо, то там будет то-что было. в отличие от $?
Суть проги такова: на устройстве сигнализации нажимается кнопка, я отсылаю команду codes[1] - чтение буфера клавы и считываю ответ
УС понимает CP1251 кодировку. Пробовал без перекодировки - ни чего. Решил что необходима кодировка...
Суть проги такова: на устройстве сигнализации нажимается кнопка, я отсылаю команду codes[1] - чтение буфера клавы и считываю ответ
УС понимает CP1251 кодировку. Пробовал без перекодировки - ни чего. Решил что необходима кодировка...
нет. перекодировка нужна если-бы были кракозябры.
для начала попробуйте в консоли
[console]cat /dev/ttyS0 | xxd[/console]
Что-то не получается использовать коды(речь идет только о кириллице):
получаю код, а затем записываю его в определенный элемент массива char и затем отправляю его на устройство - кракозябра :(
Попробовал вариант с утилитой iconv - работает (я из отформатированного файла копирую строку и вставляю в прогу). Но это для меня не панацея - и другие проги формирую сигналки, а затем отправляют мне...
Две входные строки: "$01T100TEXT\n" и "$01T100ТЕКСТ\n", а значение
res = 0 в обоих случаях-?
text
size_t res = iconv(cdout,&in,&numbin,&bout,&nbbout)
Две входные строки: "$01T100TEXT\n" и "$01T100ТЕКСТ\n", а значение
res = 0 в обоих случаях-?
видимо в вашей строке 0 символов. так бывает, если в строке первый байт равен нулю (\0, а не "ноль").
iconv() возвращает число символов которые обработаны. Кроме того, возможно, первым у вас затесался НЕСИМВОЛ. Несимволы встречаются лишь в UTF-8, и им не соответствуют никакие символы. (это мало вероятно, ибо у меня получается -1 в res, и errno == EILSEQ. читайте СВОЮ документацию).
Вот программа для конвертирования из одной из четырёх русских кодировок
в другую. Она старая, автор не я и его давно нет в RU.LINUX, я её тогда же
несколько модернизировал. Там при её вызове method - это два символа,
каждый - один из четырёх: w, k, a, i.
Воспользуйтесь програмой indent.