欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C和MFC巧妙獲取外網(wǎng)IP的兩種實(shí)現(xiàn)方法

 更新時(shí)間:2014年07月21日 17:41:00   投稿:shichen2014  
這篇文章主要介紹了C和MFC巧妙獲取外網(wǎng)IP的兩種實(shí)現(xiàn)方法,功能非常的實(shí)用,需要的朋友可以參考下

本文以C與MFC的兩個(gè)實(shí)例詳述了取外網(wǎng)IP的兩種實(shí)現(xiàn)方法,具體實(shí)現(xiàn)代碼如下:

MFC語(yǔ)言實(shí)現(xiàn)獲取外網(wǎng)IP:

# include <windows.h>
# include <urlmon.h>
# pragma comment(lib,"URLMON.lib")
void main()
{
  URLDownloadToFile(NULL,"http://www.ip138.com/ip2city.asp","ip.txt",0,NULL);
  system("notepad ip.txt");
}

#include<urlmon.h>
#pragma comment (lib,"Urlmon.lib")

char buf[MAX_PATH] = {0};
char chTempIp[128];
char chIP[64];
URLDownloadToFile(0,"http://www.ip138.com/ip2city.asp","c:\\1.ini",0,NULL);

FILE *fp=fopen( "c:\\1.ini", "r" );

if ( fp != NULL ) 
{

fseek(fp, 0, SEEK_SET);
fread(buf,1,256,fp);
fclose(fp);
char* iIndex = strstr(buf,"[");

if (iIndex) 
 {
   sprintf( chTempIp,"%s",iIndex);
   int nBuflen = strlen(chTempIp);

for(int i =0; i<nBuflen; i++)
   {
 chIP[i] = chTempIp[i+1];

 if(chTempIp[i] == ']') 
 {
chIP[i-1] = '\0';
   DeleteFile("c:\\1.ini");
   continue;
 }
 
   }
}

}
MessageBox(chIP);

C實(shí)現(xiàn)獲取外網(wǎng)IP:

#include <afxinet.h>
void CLanChatDlg::GetNetIP()
{

SetDlgItemText(IDC_NET_IP,"正在獲取外網(wǎng)IP");
CString strsource;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;

Address="http://www.ip138.com/ip2city.asp";//ip138網(wǎng)頁(yè)

myHttpFile=(CHttpFile*)mySession.OpenURL(Address);//讀取網(wǎng)絡(luò)地址

while(myHttpFile->ReadString(strsource))
{ //循環(huán)讀取下載來(lái)的網(wǎng)頁(yè)文本
 // AddToLog(strsource);
 int begin=0;
 begin=strsource.Find("[",0);
 
 if(begin!=-1)//如果找到"[", 則找"]" 中括號(hào)內(nèi)的文本則是 你的外網(wǎng)ip
 { int end=strsource.Find("]");
 m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外網(wǎng)ip

 SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角顯示外網(wǎng)ip
 }
}

這兩個(gè)示例都是通過(guò)ip138網(wǎng)站來(lái)查詢外網(wǎng)IP的,感興趣的讀者也可以根據(jù)自己的喜好改動(dòng)一下代碼,使之更加完善。

相關(guān)文章

  • C語(yǔ)言中break與continue的用法和區(qū)別詳解

    C語(yǔ)言中break與continue的用法和區(qū)別詳解

    當(dāng)我們使用while或for循環(huán)時(shí),如果想提前結(jié)束循環(huán)(在不滿足結(jié)束條件的情況下結(jié)束循環(huán)),可以使用break或continue關(guān)鍵字,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中break與continue的用法和區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 基于C語(yǔ)言中段錯(cuò)誤的問(wèn)題詳解

    基于C語(yǔ)言中段錯(cuò)誤的問(wèn)題詳解

    本篇文章是對(duì)C語(yǔ)言中段錯(cuò)誤的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 基于Qt編寫(xiě)全能播放組件的示例代碼

    基于Qt編寫(xiě)全能播放組件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何基于Qt編寫(xiě)全能播放組件,可以支持ffmpeg2/3/4/5/6/Qt4/5/6,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • c++ vector造成的內(nèi)存泄漏問(wèn)題

    c++ vector造成的內(nèi)存泄漏問(wèn)題

    這篇文章主要介紹了c++ vector造成的內(nèi)存泄漏問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C語(yǔ)言趣味編程之水仙花數(shù)

    C語(yǔ)言趣味編程之水仙花數(shù)

    這篇文章介紹了C語(yǔ)言趣味編程之水仙花數(shù),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • Qt Creator使用教程的簡(jiǎn)單說(shuō)明

    Qt Creator使用教程的簡(jiǎn)單說(shuō)明

    如今 Qt Creator 功能十分強(qiáng)大了,包含項(xiàng)目模板生成、代碼編輯、UI 設(shè)計(jì)、QML 界面編輯、調(diào)試程序、上下文幫助等豐富功能,本文就詳細(xì)的介紹一下如何使用
    2021-08-08
  • C語(yǔ)言字符串旋轉(zhuǎn)問(wèn)題的深入講解

    C語(yǔ)言字符串旋轉(zhuǎn)問(wèn)題的深入講解

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言字符串旋轉(zhuǎn)問(wèn)題的相關(guān)資料,文中給出了詳細(xì)的實(shí)現(xiàn)方法,并對(duì)每種方法進(jìn)行了分析和示例代碼,需要的朋友可以參考下
    2021-09-09
  • 詳解C++ 前置聲明

    詳解C++ 前置聲明

    這篇文章主要介紹了C++ 前置聲明的相關(guān)資料,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2020-09-09
  • C語(yǔ)言中fgets和fscanf區(qū)別詳解

    C語(yǔ)言中fgets和fscanf區(qū)別詳解

    這篇文章主要介紹了C語(yǔ)言中fgets和fscanf區(qū)別詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C++之list容器介紹及使用方式

    C++之list容器介紹及使用方式

    這篇文章主要介紹了C++之list容器介紹及使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評(píng)論