如何倒带proc文件

how to rewind proc file

我正在尝试以固定间隔 (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;
    }