複数のレポートを HID デバイスから に読み込んでからunsigned char
、データを にコピーしようとしていますstd::vector
。また、データを 16 進数分析用のファイルに書き込んでいます。その内容は、表示すると正しいように見えます。ただし、std::vector
コンソールにダンプすると、正しいデータが含まれているようには見えません。
これはコードです:
typedef vector<unsigned char> buffer_t;
buffer_t sendCommand (hid_device *devh, const unsigned char cmd[], int reports) {
unsigned char outbuf[0x40];
buffer_t retbuf(0x40 * reports);
hid_write(devh, cmd, 0x41);
int i;
FILE *file = fopen("test.out", "w+b");
while (i++ < reports) {
hid_read(devh, outbuf, 0x40);
fwrite(outbuf, 1, sizeof(outbuf), file);
retbuf.push_back(*outbuf);
}
fclose(file);
cout << &retbuf[0];
return retbuf;
}
ここで的外れな気がします。私は C/C++ にかなり慣れていないので、しばらくこれに固執しています。誰かが私が間違っていることを教えてくれますか、または私をより良い方向に向けることができますか?