我想读取proc文件/ proc // status的最后n个字节。
在普通文件上,我可以从文件的末尾开始,如:
fseek(proc_file, -BUF_SIZE, SEEK_END);
但由于proc文件的大小为零,因此不起作用。
有关如何从头开始阅读的任何建议吗?
我肯定希望避免循环直到最后。
答案 0 :(得分:1)
状态文件很小。刚刚开始前10000个字节:
int fileLen = fread( statusFile, buffer, 10000 );
fread将返回文件中的字节数以及文件的内容。然后,您可以检查文件的结尾。
只读取最后几个字节没有任何好处。文件I / O系统是缓冲的,因此即使是几个字节,也会导致较低层无论如何都会读取几个k。