我试图以固定的间隔(200ms)读取proc文件/ proc / stat,并且试图避免每次打开和关闭proc文件。
现在,由于proc文件没有与之关联的大小,因此fseek和rewind将不起作用。如果我错了,请纠正我。 (我记得有些proc文件确实具有与之相关的大小,但是/ proc / stat绝对没有一个)
重置读取指针以启动proc文件的正确方法是什么?
最佳答案
我发现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;
}
关于c - 如何倒回proc文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28290909/