『壹』 請問 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地址啊 謝謝了
看你要獲得那裡的ip地址
如果是本及機的話,就使用windows的API啊
#include "winsock.h"
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
char* ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
// ip is ready
WSACleanup( );
}
『叄』 編程:C語言編程取得本機ip地址
#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
char ip[20];
char temp[100];
char ch='\0';
FILE *fp;
system("ipconfig >d:\\myip.txt");
if ((fp=fopen("d:\\myip.txt","r"))==NULL)
{
printf("the file can not open:\nPress any key to exit:");
getch();
exit(1);
}
for (i=0;i<7;i++)
{fgets(temp,80,fp); /*跳過一些行*/
/*printf("%s\n",temp); */}
fgets(temp,80,fp);
i=0;j=0;
while (temp[i++]!=':')
;
while (temp[i]!='\n')
ip[j++]=temp[i++];
ip[j]=0;
printf("IP=%s\n",ip);
fclose(fp);
system("del d:\\myip.txt");
getch();
}
『肆』 用C語言編寫程序如何獲得外網的IP的地址
//通過ip138網站來查詢外網IP的
#include <afxinet.h>
void CLanChatDlg::GetNetIP()
{
SetDlgItemText(IDC_NET_IP,"正在獲取外網IP");
CString strsource;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
Address="http://www.ip138.com/ip2city.asp";//ip138網頁
myHttpFile=(CHttpFile*)mySession.OpenURL(Address);//讀取網路地址
while(myHttpFile->ReadString(strsource))
{ //循環讀取下載來的網頁文本
// AddToLog(strsource);
int begin=0;
begin=strsource.Find("[",0);
if(begin!=-1)//如果找到"[", 則找"]" 中括弧內的文本則是 你的外網ip
{ int end=strsource.Find("]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外網ip
SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角顯示外網ip
}
}
『伍』 怎麼用c或者c++代碼獲取默認DNS伺服器的ip
這里的代碼可以列印出電腦默認的DNS伺服器
#pragmawarning(disable:4996)
#include<stdio.h>
#include<WinSock2.h>
#include<iphlpapi.h>
#pragmacomment(lib,"IPHLPAPI.lib")
#pragmacomment(lib,"ws2_32.lib")
intmain()//獲取本地主機名、域名和DNS伺服器信息
{
//聲明變數
FIXED_INFO*FixedInfo;//定義保存本地計算機網路參數信息的結構體指針
ULONGulOutBufLen;//保存獲取到的本地計算機網路參數信息結構體鏈表的長度
DWORDdwRetVal;//調用GetNetworkParams()函數的返回值
IP_ADDR_STRING*pIPAddr;//保存所有DNS伺服器的IP地址列表
FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,sizeof(FIXED_INFO));//為FixedInfo結構體分配內存空間
ulOutBufLen=sizeof(FIXED_INFO);//初始化ulOutBufLen變數值
//第1次調用GetNetworkParams()函數,獲取返回結果的大小到ulOutBufLen中
if(ERROR_BUFFER_OVERFLOW==GetNetworkParams(FixedInfo,&ulOutBufLen))
{
GlobalFree(FixedInfo);
FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,ulOutBufLen);
}
//第2次調用GetNetworkParams()函數,以前面獲取的ulOutBufLen作為參數,
if(dwRetVal=GetNetworkParams(FixedInfo,&ulOutBufLen)!=ERROR_SUCCESS)
{
printf("調用GetNetworkParams()函數失敗。返回值:%08x ",dwRetVal);
}
else
{
printf(" DNS伺服器列表: ");
printf("%s ",FixedInfo->DnsServerList.IpAddress.String);
pIPAddr=FixedInfo->DnsServerList.Next;
while(pIPAddr)
{
printf(" %s ",pIPAddr->IpAddress.String);
pIPAddr=pIPAddr->Next;
}
}
printf("按下回車鍵結束 ");
getchar();
return0;
}
『陸』 如何只用C語言,通過域名得到IP地址
#include<stdio.h>//printf
#include<string.h>//memset
#include<stdlib.h>//forexit(0);
#include<sys/socket.h>
#include<errno.h>//Forerrno-theerrornumber
#include<netdb.h>//hostent
#include<arpa/inet.h>
inthostname_to_ip(char*,char*);
intmain(intargc,char*argv[])
{
if(argc<2)
{
printf("");
exit(1);
}
char*hostname=argv[1];
charip[100];
hostname_to_ip(hostname,ip);
printf("%sresolvedto%s",hostname,ip);
printf(" ");
}
/*
Getipfromdomainname
*/
inthostname_to_ip(char*hostname,char*ip)
{
structhostent*he;
structin_addr**addr_list;
inti;
if((he=gethostbyname(hostname))==NULL)
{
//getthehostinfo
herror("gethostbyname");
return1;
}
addr_list=(structin_addr**)he->h_addr_list;
for(i=0;addr_list[i]!=NULL;i++)
{
//Returnthefirstone;
strcpy(ip,inet_ntoa(*addr_list[i]));
return0;
}
return1;
}
『柒』 怎麼用c或者c++代碼獲取默認DNS伺服器的ip
#include<windows.h>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
system("ipconfig /all");//使用運行CMD.exe,並輸入ipconfig /all,可得出本機所有物理地址信息(IP信息)
getchar();//獲取記錄信息
return 0;
}
『捌』 請問 C# 如何獲取外網IP
本機是獲取不到自己外網IP的,真的想要知道,你可以訪問ip138這種網站,讓這種網站獲得你的IP再返回給你。有點兒像自己的眼睛是看不到自己長啥樣,想要看得是鏡子「獲得」你的樣子,然後再返還給你一樣。
路由什麼的是基於NAT的,根本不需要知道客戶端的真實地址是什麼,服務端地址固定住就好了。當客戶端與服務端連接時(建立Sockets)經過路由,路由會NAT給客戶端一個地址(包含IP和埠號兩部分),服務端只需要往這個地址上發送信息,路由器識別你這個地址會自動轉發給相應的真正的客戶端的,這也就是路由的本身作用。
『玖』 怎麼用C語言獲取Linux系統的網卡IP地址
man exec 裡面的函數可以用來執行命令
『拾』 編程:C語言編程取得本機ip地址
取本地地址
可以從「開始」-「程序」-「附件」-「命令提示符」裡面輸入英文「ipconfig/all」就可得到IP地址了,LINUX我也不太懂了。