qt获取本机IP地址

1430阅读 0评论2015-01-28 644924073
分类:C/C++

QString GetLocalIPAddress()

{

         QString vAddress;

 

         #ifdef _WIN32

         QHostInfo vHostInfo = QHostInfo::fromName(QHostInfo::localHostName());

         QList vAddressList = vHostInfo.addresses();

         #else

         QList vAddressList = QNetworkInterface::allAddresses();

         #endif

         for(int i = 0; i < vAddressList.size(); i++)

         {

                   if(!vAddressList.at(i).isNull() &&

                            vAddressList.at(i) != QHostAddress::LocalHost &&

                            vAddressList.at(i).protocol() ==  QAbstractSocket::IPv4Protocol)

                   {

                            vAddress = vAddressList.at(i).toString();

                            break;

                   }

         }

 

         return vAddress;

}

 

在XP系统中如果使用以下方法 ,在函数返回时将回报错,当然不一定是所有机器都这样

QList vAddressList = QNetworkInterface::allAddresses();

上一篇:开发板硬件调试大致步骤(转)
下一篇:Linux-dd命令详解