Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-如何将所有IP连接到我的电脑_C_Ip - Fatal编程技术网

C-如何将所有IP连接到我的电脑

C-如何将所有IP连接到我的电脑,c,ip,C,Ip,正如标题所说。我想获得连接到我的电脑的所有IP的列表。不是路由器,也不是网络上的电脑。只有我连接的IP。我知道在C语言中有一种方法,但在C语言中你是如何做到的。我是在linux上做到这一点的。链接到一个程序,该程序解析读取: /proc/net/tcp /proc/net/udp /proc/net/raw 您正在询问您的IP地址。要获得每个接口的IP地址列表,您可以使用内置的linux功能ifconfig,该功能将输出数据,然后您可以对其进行解析 基于此,您可以使用以下代码在新行中打印每个地

正如标题所说。我想获得连接到我的电脑的所有IP的列表。不是路由器,也不是网络上的电脑。只有我连接的IP。我知道在C语言中有一种方法,但在C语言中你是如何做到的。
我是在linux上做到这一点的。

链接到一个程序,该程序解析读取:

/proc/net/tcp
/proc/net/udp
/proc/net/raw

您正在询问您的IP地址。要获得每个接口的IP地址列表,您可以使用内置的linux功能
ifconfig
,该功能将输出数据,然后您可以对其进行解析

基于此,您可以使用以下代码在新行中打印每个地址:

在运行此操作之前,请使用
locate ifconfig
并相应地设置字符串中的路径

注意我的评论:首先检查此命令是否通过终端为您输出所需的输出

#包括
#包括
int main(int argc,char*argv[])
{
文件*fp;
char-ip[15];
/*打开命令进行读取*/
fp=popen(“ifconfig | grep\”inet addr\“| cut-d\”:“-f2 | cut-d\”-f1”、“r”);
/*首先检查此命令是否为您输出所需的输出*/
如果(fp==NULL){
printf(“无法运行命令\n”);
出口(1);
}
/*一次读取一行输出-输出它*/
while(fgets(ip,sizeof(ip)-1,fp)!=NULL){
printf(“%s”,ip);
}
/*接近*/
pclose(fp);
返回0;
}

我们谈论的是Linux还是Windows操作系统?@通常我谈论的是Linux-让我用一个编辑来补充一下,我尝试在下面给出Linux的解决方案。