Здравствуйте.
Работаю с прибором по протоколу SCPI. К сожалению он реализован в приборе не по стандарту и требует предварять каждое сообщение его длинной. В документации это не описано, так что пришлось до этого доходить с помощью сниффера.
Сниффер мне говорит что оригинальная программа от производителя прибора пересылает длину сообщения в таком формате
Send: Return Code: 0x00000000
00000000 00 00 00 06
Скопировано из программы SocketSniff. Т.е. в формате 8 байт.
Теперь вопрос как сформировать char arr[] так что бы в нем лежали эти 8 байт.
Я пробовал делать так
std::stringstream ss;
ss << std::hex << 0x0000000000000006;
printf("x=%s\n", ss.str().c_str());
Получилось
Send: Return Code: 0x00000000
6
Попробовал
char ss[4] = {0};
sprintf(ss,"%16X",6);
printf("ss=%s\n", ff);
Получилось
Получилось
Send: Return Code: 0x00000000
0000000000000006
Прибор на такие способы записи не реагировал.
Таким образом требуется следующая запись
Send: Return Code: 0x00000000
00000000 00 00 00 06
Пока у меня не получилось сформировать и отослать нужный набор байт.