分享一下,qt中如何獲取計算機的mac和ip位址。
首先申明,不能用windows api,為了跨平台。
命令列檢視
win+r cmd 出現命令提示行,鍵入:
qt中獲取mac位址
qstring getmacaddress()}}
把e4:f8:9c:d9:84:b1形式轉為uint8_t 陣列#include
#include "qtnetwork/qnetworkinte***ce.h"
#include "qdebug.h"
#include
#include
qstring getmacaddress()
}}int main(int argc, char *argv)
; std::stringstream ss( getmacaddress().tostdstring() );
char trash;
for ( int i = 0; i < 6; i++ )
for (int i=0; i < 6; i++)
engine.load(qurl(qstringliteral("qrc:/main.qml")));}
獲得更多引數
#include
#include
#include
#include
void getlocalipwithqt();
void getadapterinfowithqt();
void getadapterinfowithwindows();
int main(int argc, char *argv)
void getlocalipwithqt()
if(getadaptersinfo( padapterinfo, &uloutbuflen) == no_error)
;memcpy(tempipaddress,ipaddress,3);
//只顯示ip以192開頭的網絡卡資訊
if(strstr(tempipaddress,"192"))
printf("adapter type: \t%d\n", padapterinfo->type);
printf("ip address: \t%s\n", padapterinfo->ipaddresslist.ipaddress.string);
printf("ip mask: \t%s\n", padapterinfo->ipaddresslist.ipmask.string);}}
padapterinfo = padapterinfo->next;}}
else
if(padapterinfo)
}
Qt獲取本機ip位址
最近有個專案需要手機可以與pc進行tcp傳輸檔案,pc做server時在我的電腦可以,在其他電腦時手機連線超時。檢視了埠,防火牆等等問題未能解決。最後發現是qt在獲取ip位址時獲取錯了,獲取的是第乙個而不是正在使用的。qstring stripaddress qprocess cmd pro qst...
Qt獲取本機的ip位址 MAC位址
qstring gethostipaddress 如果沒有找到,則以本地ip位址為ip if stripaddress.isempty stripaddress qhostaddress qhostaddress localhost tostring return stripaddress qstr...
Qt5 12獲取本機IP位址
最近在寫有關qt網路通訊方面,下面是乙個小模組,獲取主機的ip位址。qstring get local ip return 0.0.0.0 首先獲取本機所有ip位址資訊,包括環迴位址如127.0.0.1,以及本機位址如192.168.1.x等等,有安裝虛擬機器的還有其他位址等等。brief 檢測當前...