我试图定期读取proc文件/ proc / stat(200ms),我试图避免每次都打开和关闭proc文件。
由于proc文件没有与之关联的大小,因此fseek和rewind不起作用。如果我错了,请纠正我。 (我记得一些proc文件确实有与它们相关的大小,但/ proc / stat肯定没有一个)
重置proc文件的读指针启动的正确方法是什么?
答案 0 :(得分:1)
我发现rewind
效果很好
#include <stdio.h>
int main() {
FILE* fin = fopen("/proc/stat", "r");
if (!fin) {
perror("fopen");
return -1;
}
char buf[16*1024];
while(1) {
rewind(fin);
size_t sz = fread(buf, 1, sizeof(buf), fin);
if (sz) {
buf[sz]=0;
printf(buf);
}
sleep(5);
}
return 0;
}