我在终端中通过键入 cat /dev/hidraw0 读取设备文件 /dev/hidraw0 ,因为 hidraw0 是 USB 鼠标,输出是一系列字符。这个序列是在我移动鼠标、单击和滚动时生成的。
然后我还用 C 程序尝试了这个。代码是,
include<stdio.h>
int main()
{
FILE *ptr_file;
char buf[1000];
ptr_file =fopen("/dev/hidraw0","r");
if (!ptr_file)
return 1;
char c;
while (1)
{
c=fgetc(ptr_file);
if(c != NULL)
printf("%c",c);
else
printf("");
}
fclose(ptr_file);
return 0;
}
这也产生了相同的(我想)字符序列。但是以非常异步的方式。它没有像 cat /dev/hidraw0 命令那样快速更新。
为什么会这样?