『壹』 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);
}