linux下检测网线插拔(三)

来源:互联网 发布:淘宝上门安装服务加入 编辑:程序博客网 时间:2024/06/02 07:39

方法三,用的文件方式
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
int main(void)
{
unsigned char buf[4],buffer[4];
FILE *fp;
int fd;
int i;
FILE f;
memset(buffer, 0, sizeof(buffer));
memset(buffer, 0, sizeof(buf));
fp = popen("cat /sys/class/net/eth0/operstate", "r");
if (!fp)
return -1;
fgets(buf, 5, fp);

//for(i=0; i<5; i++)
// printf("buf[%d]=%c\n", i, buf[i]);
sprintf(buffer, "down",4);
//for(i=0; i<4; i++)
// printf("buffer[%d]=%c\n", i, buffer[i]);
if(!strcmp(buffer, buf))
printf("link down\n");
else
printf("link up\n");
pclose(fp);

return 0;
}

原创粉丝点击