我在文件描述符上使用read()
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。