如何从C中的proc文件中读取最后n个字节

时间:2014-09-27 00:16:17

标签: c file proc procfs

我想读取proc文件/ proc // status的最后n个字节。

在普通文件上,我可以从文件的末尾开始,如:

fseek(proc_file, -BUF_SIZE, SEEK_END);

但由于proc文件的大小为零,因此不起作用。

有关如何从头开始阅读的任何建议吗?

我肯定希望避免循环直到最后。

1 个答案:

答案 0 :(得分:1)

状态文件很小。刚刚开始前10000个字节:

int fileLen = fread( statusFile, buffer, 10000 );

fread将返回文件中的字节数以及文件的内容。然后,您可以检查文件的结尾。

只读取最后几个字节没有任何好处。文件I / O系统是缓冲的,因此即使是几个字节,也会导致较低层无论如何都会读取几个k。