Chinaunix首页 | 论坛 | 博客
  • 博客访问: 963273
  • 博文数量: 108
  • 博客积分: 3243
  • 博客等级: 中校
  • 技术积分: 964
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-15 22:09
文章分类

全部博文(108)

文章存档

2020年(2)

2019年(1)

2018年(2)

2017年(9)

2016年(20)

2015年(1)

2013年(1)

2012年(12)

2011年(28)

2010年(27)

2009年(4)

2008年(1)

分类: C/C++

2011-10-19 17:51:08

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();

阅读(6414) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~