Всем привет, пишу программу на QT C++ столкнулся с проблемой получении данных с hid устройства.
Проблема в том что приходит hex с лишними данными для меня.
вот так.
0a0000000000000039300000000000000d000000000000000a0000000000000039310000000000000d000000000000000a0000000000000038390000000000000d000000000000000a0000000000000
а мне нужно всего лишь
если не в hex то
ну я думаю это понятно =).
я хотел сделать так
но это конечно же неправильно))
Так вот вопрос в том можно ли сделать фильтр?
Вопрос зачем? делает лишние пробелы.
Сразу говорю что данные приходят с девайса правильно, так как уже было проверенно на сторонней программе.
Вот кусок кода
int main(int argc, char* argv[])
{
int res;
unsigned char buf[256];
#define MAX_STR 255
wchar_t wstr[MAX_STR];
hid_device *handle;
int i;
// Set up the command buffer.
memset(buf,0x00,sizeof(buf));
buf[0] = 0x01;
buf[1] = 0x81;
handle = hid_open(0x16c0, 0x05df, NULL);
if (!handle) {
printf("unable to open device\n");
return 1;
}
res = 0;
int s=1;
while (s<=10) {
res = hid_read(handle, buf, sizeof(buf));
for (i = 0; i < res; i++)
//if (port[i] != 00) {
printf("%02hhx", buf[i]);
s++;
}
printf("\n");
hid_close(handle);
hid_exit();
return 0;
}
Спасибо.