linux程序中如何查看一个网卡名是否存在
2013-01-16 14:13
1056 查看
下面是在linux程序中如何查看一个网卡名是否存在的算法源码
#define PROCBUFSIZ 1024
#define _PATH_PROC_NET_DEV "/proc/net/dev"
static char * interface_name_cut (char *buf, char **name)
{
char *stat;
/* Skip white space. Line will include header spaces. */
while (*buf == ' ')
buf++;
*name = buf;
/* Cut interface name. */
stat = strrchr (buf, ':');
*stat++ = '\0';
return stat;
}
int check_interface_fromproc(char *interface)
{
FILE *fp;
char buf[PROCBUFSIZ];
struct interface *ifp;
char *name;
/* Open /proc/net/dev. */
fp = fopen (_PATH_PROC_NET_DEV, "r");
if (fp == NULL)
{
printf("open proc file error\n");
return -1;
}
/* Drop header lines. */
fgets (buf, PROCBUFSIZ, fp);
fgets (buf, PROCBUFSIZ, fp);
/* Only allocate interface structure. Other jobs will be done in
if_ioctl.c. */
while (fgets (buf, PROCBUFSIZ, fp) != NULL)
{
interface_name_cut (buf, &name);
if(strcmp(interface,name)==0)
return 1;
}
fclose(fp);
return 0;
}
算法也算比较漂亮,更重要的是学习其中的书写格式(代码中空格的使用方法)
#define PROCBUFSIZ 1024
#define _PATH_PROC_NET_DEV "/proc/net/dev"
static char * interface_name_cut (char *buf, char **name)
{
char *stat;
/* Skip white space. Line will include header spaces. */
while (*buf == ' ')
buf++;
*name = buf;
/* Cut interface name. */
stat = strrchr (buf, ':');
*stat++ = '\0';
return stat;
}
int check_interface_fromproc(char *interface)
{
FILE *fp;
char buf[PROCBUFSIZ];
struct interface *ifp;
char *name;
/* Open /proc/net/dev. */
fp = fopen (_PATH_PROC_NET_DEV, "r");
if (fp == NULL)
{
printf("open proc file error\n");
return -1;
}
/* Drop header lines. */
fgets (buf, PROCBUFSIZ, fp);
fgets (buf, PROCBUFSIZ, fp);
/* Only allocate interface structure. Other jobs will be done in
if_ioctl.c. */
while (fgets (buf, PROCBUFSIZ, fp) != NULL)
{
interface_name_cut (buf, &name);
if(strcmp(interface,name)==0)
return 1;
}
fclose(fp);
return 0;
}
算法也算比较漂亮,更重要的是学习其中的书写格式(代码中空格的使用方法)
相关文章推荐
- Linux C程序如何检测WIFI无线USB网卡是否可用?
- 在Linux和Window下如何查看一个端口是否监听以及被哪个进程监听命令
- Linux下如何查看一个文件是否拥有软链接或硬链接文件?
- delphi中如何查看某个程序在进程中是否已经存在
- Linux多线程编程时如何查看一个进程中的某个线程是否存活
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。
- delphi中如何查看某个程序在进程中是否已经存在
- Linux程序宕掉后如何通过gdb查看出错信息
- 如何查看LINUX下的一个USB设备使用的驱动模块
- WINDOWS中, 如何查看一个运行中的程序是64位还是32位的?
- 如何查看程序是否支持ASLR
- linux+笔记:linux下判断一个文件或者目录是否存在
- Linux 下如何查看一个组内的有哪些用户
- 查找程序所在上一级目录中是否存在指定文件夹,不存在就建立,并在其中新建一个txt文件
- Sql : 如何判断一个表中,是否存在一个ID,如果存在不处理,如果不存在
- sql 如何判断一个表是否存在
- 如何检测一个变量是否存在?[转]
- Linux下如何查看tomcat是否启动
- makefile中如何判断一个文件是否存在
- linux下如何查看某个软件 是否安装??? 安装路径在哪???