0

我在文件描述符上使用read()from 。unistd.h我需要将前 4 个字节读入一个int变量,其余的读入一个unsigned char数组。

到目前为止,这不适用于获取前 4 个字节:

unsigned int myInt = 0;
status = read (fd, &myInt, sizeof(myInt);

read()返回 -1 并且 myInt 保持 0。

然而,读取 char 缓冲区有效:

char buf[512];
status = read (fd, buf, sizeof(buf);

read()正确返回它的内容fd

我检查了一下,unsinged int我的目标是四个字节。

我在这里没有看到什么?

编辑:errno断管。这不是我正在读取的常规文件,而是 gadgetfs 制作的文件描述符,用于从 USB 接收数据并将数据发送到 USB。

4

0 回答 0