Всем привет! Вопрос, собственно, не совсем по Qt, а вообще на c++, но возможно и с Qt... Необходимо в проекте получить текущий IP адрес, как это можно сделать? Причем необходимо сделать это как для Win, так и для Unix, поэтому нужны функции получения IP для обеих систем. Заранее благодарен.
Для винды нашел следующий код:
#include <winsock.h>
#include <stdio.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(1, 0);
int err = WSAStartup(wVersionRequested, &wsaData);
if(err == 0)
{
char hn[1024];
struct hostent *adr;
if(gethostname((char *)&hn, 1024))
{
int err = WSAGetLastError();
Beep();
};
adr = gethostbyname(hn);
if(adr)
{
char *LocalIp = new char[15];
sprintf(LocalIp,"%d.%d.%d.%d",
(unsigned char)adr->h_addr_list[0][0],
(unsigned char)adr->h_addr_list[0][1],
(unsigned char)adr->h_addr_list[0][2],
(unsigned char)adr->h_addr_list[0][3]);
Label1->Caption=LocalIp; //Выводим IP адрес
}
}
}
QHostAddress QNetworkAddressEntry::ip () const
?
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)