当前位置:首页 » 编程语言 » c语言怎么设置ip地址
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么设置ip地址

发布时间: 2022-04-28 14:43:52

‘壹’ c语言修改IP地址

如果编程的话使用WMI接口,先置为DHCP方式
然后,再修改成固定IP
API中没有永久修改IP的函数

‘贰’ 怎么用C语言去设置本地IP地址

#include<iostream>
usingnamespacestd;
#include<stdio.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<netinet/in.h>
#include<errno.h>
#include<string.h>
#include<stdlib.h>
voidsetIPv4(char*ip,char*gw,char*netmask){
charcmd[128];
//networkinterface
charnwkInf[5]="eth0";

//linkdowncommandinLinux
sprintf(cmd,"iplinkset%sdown",nwkInf);
system(cmd);


memset(cmd,0x00,64);
//commandtosetipaddress,netmask
sprintf(cmd,"ifconfig%s%snetmask%s",nwkInf,ip,netmask);
system(cmd);
printf(" cmd:%s",cmd);fflush(stdout);
memset(cmd,0X00,64);

//commandtosetgateway
sprintf(cmd,"routeadddefaultgw%s%s",gw,nwkInf);
system(cmd);

memset(cmd,0X00,64);
//linkupcommand
sprintf(cmd,"iplinkset%sup",nwkInf);
system(cmd);
}
intmain(){
//
setIPv4("192.168.10.267","192.168.10.1","255.255.255.0");
return0;
}

‘叁’ 怎样通过C语言修改系统IP

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 50
typedef struct
{
char eth[N], ip[N], netmasks[20], gw[N], dns[N], tag[N];
}data;
int main()
{
data list[]=
{
{
"本地连接",
"222.22.65.173", //IP地址
"255.255.255.128",//子网掩码
"222.22.65.129",//默认网关
"202.196.64.1",//首选DNS服务器地址
"LAB"//这个配置的标签
},
{
"本地连接",
"10.108.8.89",
"255.255.255.0",
"10.108.8.1",
"202.196.64.1",
"寝室"
}
};
int i, num=sizeof(list)/sizeof(data);
char temp[200], set[200];
for(i=0; i<num; i++)
printf("%d %s\n", i+1, list[i].tag);
printf("\n输入需要修改至的IP编号\n");
while( scanf("%d", &i)!=1 || i>num || i<=0);
i--;

sprintf(set, "netsh interface ip set address \"%s\" static %s %s %s >nul",
list[i].eth, list[i].ip, list[i].netmasks, list[i].gw);
sprintf(temp, "& netsh interface ip set dns \"%s\" static %s & ipconfig & pause",
list[i].eth, list[i].dns);
strcat(set, temp);
system(set);
return 0;
}

‘肆’ c语言怎样编写显示本机ip地址的程序

...
struct
in_addr
addr;
hostent
*pHost
=
::gethostbyname("localhost");//在此写入你自己电脑主机名字
switch
(pHost->h_addrtype)
{
case
AF_INET:
printf("internet网络地址类型(AF_INET)\n");
break;
case
AF_INET6:
printf("internet网络地址类型(AF_INET)\n");
break;
case
AF_NETBIOS:
printf("netbios网络地址类型(AF_NETBIOS)\n");
break;
default:
printf("其它地址类型
%d\n",
pHost->h_addrtype);
break;
}
printf("\t地址长度:
%d(字节)\n",
pHost->h_length);
addr.s_addr
=
*(u_long
*)
pHost->h_addr_list[0];
printf("\t第一个IP地址为:
%s\n",
inet_ntoa(addr));
...

‘伍’ c语言命令显示ip地址

system("ipconfig") 加这句就可以了

‘陆’ 如何用C语言设置本地IP地址

#include #include #include #define N 50 typedef struct { char eth[N], ip[N], netmasks[20], gw[N], dns[N], tag[N]; }data; int main() { data list[]= { { "本地连接", "222.22.65.173", //IP地址 "255.255.255.128",//

‘柒’ 如何用C语言编写一个自动定时更换本机IP地址的代码可用于WIFI连接的电脑。

WIFI连接,一般都是由连接的路由器上的DHCP自动分配的,即使自行修改,也不能修改连接的路由器上的公网IP地址,连接网络后,使用的还是路由器上的公网地址,能修改的只是本地的IP地址。

只要定时执行设置本地IP地址即可,代码仅供参考:

ManagementBaseObjectinPar=null;
ManagementBaseObjectoutPar=null;
ManagementClassmc=newManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollectionmoc=mc.GetInstances();
foreach(ManagementObjectmoinmoc)
{
if(!(bool)mo["IPEnabled"])
continue;
inPar=mo.GetMethodParameters("EnableStatic");
inPar["IPAddress"]=newstring[]{"192.168.0.111"};
outPar=mo.InvokeMethod("EnableStatic",inPar,null);
}

‘捌’ 编程:C语言编程取得本机ip地址

取本地地址
可以从“开始”-“程序”-“附件”-“命令提示符”里面输入英文“ipconfig/all”就可得到IP地址了,LINUX我也不太懂了。

‘玖’ 写一个C语言程序: 能修改Linux 主机的IP、DHCP、DNS 等设置

可以调用system()函数。把linux系统命令拼成字符串,然后调用system去执行这个字符串就可以了。修改系统配置,需要root身份。

1、system函数:
原型:int system(const char * command);
功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。
2、例程:

#include<stdio.h>
#include<stdlib.h>
intmain(){
system("delC:\123.txt");//在控制台中,执行命令delC:\123.txt,删除C盘目录下的123.txt文件
return0;
}

‘拾’ 用C语言编程显示主机IP地址!

最简单的方法是用 ipconfig
为了把数取出来,放到程序里好使用,可以把 ipconfig内容 存入C:\\TEMP\\tmp.ip, 再取出来用。
下面程序运行完,IP 的 4 段 整数 存在 d1,d2,d3,d4 里。

#include <stdio.h>
void main()
{
FILE *fin;
char namein[]="C:\\TEMP\\tmp.ip";
char str1[64],str2[64];
char one_line[80];
char cmd[120];
int i,j,k;
int d1,d2,d3,d4;

sprintf(cmd,"ipconfig > %s",namein);
system(cmd);
fin = fopen(namein,"r");
while ( fgets(&one_line[0],80,fin) !=NULL ){
j = sscanf(one_line,"%s %s",&str1[0],&str2[0]);
if (j == 2 && strncmp(str2,"Address",7) ==0 ) {
for (i=1;i<50;i++) if (one_line[i] ==':') k = i;
break;
};
};
fclose(fin);
sscanf(&one_line[0]+k+1,"%d.%d.%d.%d", &d1,&d2,&d3,&d4);
printf("%d %d %d %d\n",d1,d2,d3,d4);
exit(0);
}