写了个小程序,每个1秒钟读取网卡eth0的流量,代码如下,现在的问题是,我在21行加入break后,输出就只有第二次是变化的,后面就不变了,求指点,谢谢!
#include
#include
#include
#include
#define MAXLINE 1000
int main(int argc, char *argv[])
{
FILE *fp;
char buf[MAXLINE];
char *dev=" eth0";
if((fp=fopen("/proc/net/dev", "r")) == NULL){
printf("openfile error\n");
exit(1);
}
while(1){
while(fgets(buf, MAXLINE, fp) != NULL){
if(strncmp(buf, dev, 6)==0){
printf("%s\n", buf);
break;
}
}
rewind(fp);
sleep(1);
}
fclose(fp);
return 0;
}