QNetworkInterface获取网口所有ipv4
时间: 2023-08-04 15:02:36 浏览: 42
你可以使用Qt中的QNetworkInterface类来获取计算机上所有网络接口的IP地址。以下是一个示例代码,可以获取所有网络接口上的IPv4地址:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QNetworkInterface>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
foreach(QNetworkInterface interface, interfaces)
{
qDebug() << "Interface name: " << interface.name();
qDebug() << "Interface hardware address: " << interface.hardwareAddress();
QList<QNetworkAddressEntry> entries = interface.addressEntries();
foreach(QNetworkAddressEntry entry, entries)
{
if(entry.ip().protocol() == QAbstractSocket::IPv4Protocol)
{
qDebug() << "IPv4 address: " << entry.ip().toString();
}
}
}
return a.exec();
}
```
此代码将遍历计算机上的所有网络接口,并打印出每个接口的名称、硬件地址和所有IPv4地址。