代码换了个循环体就不起作用了解决方案
代码换了个循环体就不起作用了
以上为两种方式查询全部IP并显示在终端上的代码。
第一种for语句起作用,但是第二种do while语句却没有作用。
请问这是怎么回事?
------解决思路----------------------
你不会两段代码同时都运行了吧
QList<QHostAddress> addresslist = QNetworkInterface::allAddresses();
QList<QHostAddress>::iterator beginaddress = addresslist.begin();
QList<QHostAddress>::iterator endaddress = addresslist.end();
for( ; beginaddress < endaddress; beginaddress++) //第一种方式
{
if((*beginaddress).protocol() == QAbstractSocket::IPv4Protocol &&
(*beginaddress) != QHostAddress::Null &&
(*beginaddress) != QHostAddress::LocalHost)
{
if((*beginaddress).toString().contains("127.0."))
{
continue;
}
QString line = (*beginaddress).toString();
line.insert(0,QString());
qDebug() << line << "\n";
beginaddress++;
}
}
do //第二种方式
{
if((*beginaddress).protocol() == QAbstractSocket::IPv4Protocol &&
(*beginaddress) != QHostAddress::Null &&
(*beginaddress) != QHostAddress::LocalHost)
{
if((*beginaddress).toString().contains("127.0."))
{
continue;
}
QString line = (*beginaddress).toString();
line.insert(0,QString());
qDebug() << line << "\n";
beginaddress++;
}
}while(beginaddress != endaddress);
以上为两种方式查询全部IP并显示在终端上的代码。
第一种for语句起作用,但是第二种do while语句却没有作用。
请问这是怎么回事?
------解决思路----------------------
你不会两段代码同时都运行了吧