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