[C++]Linux之读取计算机网络数据[/proc/net/dev]
#include<stdlib.h>
#include<stdio.h>
#define BUFFER_SIZE 256
int main(){
FILE *stream;
char buffer[BUFFER_SIZE];//缓冲区
char *line_return;//记录每次返回值(行)
int line_count = 0;//记录行数
char tmp_itemName[32];//临时存放文件中的每行的项目名称
int itemReceive;//存放每一个网卡的接受到的字节总数(单位:Byte)
int itemTransmit;//存放每一个网卡的已发送的字节总数(单位:Byte)
system("cat /proc/net/dev");
printf("**************************************************************************************************************");
stream = fopen("/proc/net/dev", "r");
line_return = fgets (buffer, BUFFER_SIZE * sizeof(char), stream);//读取第一行
line_count++;
printf("\n[MAIN] line %d: %s\n", line_count, line_return);//输出第一行
line_return = fgets (buffer, BUFFER_SIZE * sizeof(char), stream);//读取第二行
line_count++;
printf("\n[MAIN] line %d: %s\n", line_count, line_return);//输出第二行
printf("**************************************************************************************************************");
while(line_return != NULL){
line_return = fgets (buffer, BUFFER_SIZE * sizeof(char), stream);
line_count++;
printf("\n[MAIN] line %d: %s", line_count, line_return);
sscanf( buffer,
"%s%d%d%d%d%d%d%d%d%d",
tmp_itemName,
&itemReceive,
&itemTransmit,
&itemTransmit,
&itemTransmit,
&itemTransmit,
&itemTransmit,
&itemTransmit,
&itemTransmit,
&itemTransmit);
printf("line %d:itemReceive: %d\n", line_count, itemReceive);
printf("line %d:itemTransmit: %d\n\n", line_count, itemTransmit);
}
return 0;
}

本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!

浙公网安备 33010602011771号