#include <stdio.h>
#include <string.h>
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
int BUF_SIZE = 1024;
string pkg_path = "/proc/net/dev";
FILE *fp = fopen(pkg_path.c_str(), "r");
if (!fp) {
printf("open file failed");
return false;
}
char* buf = (char*) malloc(BUF_SIZE);
fgets(buf, BUF_SIZE, fp); // 获取前面两行的无用数据
fgets(buf, BUF_SIZE, fp);
int pkg_recv_t = 0;
int pkg_send_t = 0;
int pkg_err_t = 0;
while(!feof(fp)){
memset(buf, 0, BUF_SIZE);
fgets(buf, BUF_SIZE, fp);
int pkg_recv = 0;
int pkg_send = 0;
int pkg_err = 0;
sscanf(buf,"%*s %*d%d%*d%*d%*d%*d%*d%d %*d%d%*d%*d%*d%*d%*d%*d\n", &pkg_recv, &pkg_err, &pkg_send);
pkg_recv_t += pkg_recv;
pkg_send_t += pkg_send;
pkg_err_t += pkg_err;
}
cout<<"pkg_recv_t:"<< pkg_recv_t <<endl;
cout<<"pkg_send_t:"<< pkg_send_t <<endl;
cout<<"pkg_err_t:"<< pkg_err_t <<endl;
free(buf);
}