Название: Обрезается строка по двум нулям Отправлено: ppk от Март 23, 2012, 08:52 Здравствуйте.
Никак не могу разобраться. Есть такой код Код: QString Test::getMyData(const char *buffer, int len) Если приходит данные вида 057010e96fd67fa0354aef2023f03af8013030400420002c365 то они обрезаются по первым двум нулям (выделил красным). Как мне прочитать всю строку? Название: Re: Обрезается строка по двум нулям Отправлено: Kurles от Март 23, 2012, 09:14 В цикле по символу наверное. У тебя даже переменная int len для этого предусмотрена, но нигде не используется.
Название: Re: Обрезается строка по двум нулям Отправлено: LisandreL от Март 23, 2012, 09:20 Ну так '\0' - символ конца строки.
Нужны все байты - используйте QByteArray. Название: Re: Обрезается строка по двум нулям Отправлено: ppk от Март 23, 2012, 09:30 Спасибо. Попробую QByteАrray. Только я не понял: у меня же не "\0", а "00". Или два нуля также воспринимаются, как символ конца строки?
Название: Re: Обрезается строка по двум нулям Отправлено: kuzulis от Март 23, 2012, 09:45 Цитировать Спасибо. Попробую QByteАrray. Только я не понял: у меня же не "\0", а "00". Или два нуля также воспринимаются, как символ конца строки? 00 - это есть байт = 0, кодом которого является символ '\0' . т.е. символ '\0' имеет реальное целое значение = 0 ! Что непонятного? ЗЫ: у тебя каша в голове, подтяни вообще свои базовые знания. Этот воброс вообще не относится к Qt! Название: Re: Обрезается строка по двум нулям Отправлено: V1KT0P от Март 23, 2012, 11:54 Спасибо. Попробую QByteАrray. Только я не понял: у меня же не "\0", а "00". Или два нуля также воспринимаются, как символ конца строки? Используй QByteArray & QByteArray::append ( const char * str, int len ), передаешь указатель и количество символов. |