1. 獲得網路介面名稱
2.獲取網路介面配置引數
3.獲得mtu和mac
4.獲取網絡卡序號
5.獲取傳送佇列長度
6.獲取網路介面ip位址
7.獲取網路廣播位址
8.查詢目的ip位址
9.查詢子網掩碼
下面是直接在linux系統中可執行的**
/*
*網路介面的獲取
*/#include#include#include#include#include#include#include#include#include#include#include#includeint main(int argc , char *ar**)
/*獲得網路介面名稱*/
struct ifreq ifr;
ifr.ifr_ifindex = 4; /*獲取第四個(網絡卡序號為4)網路介面名稱*/
err = ioctl(s , siocgifname , &ifr);
if(err)else
/*獲取網路介面配置引數*/
memcpy(ifr.ifr_name , "eno1" , strlen("eno1") + 1);
err = ioctl(s , siocgifflags , &ifr);
if(!err)
/*獲得mtu和mac*/
err = ioctl(s , siocgifmtu , &ifr);
if(!err)
err = ioctl(s , siocgifhwaddr , &ifr);
if(!err)
/*獲取網絡卡序號*/
err = ioctl(s , siocgifindex , &ifr);
if(!err)
/*獲取傳送佇列長度*/
err = ioctl(s , siocgiftxqlen , &ifr);
if(!err)
/*獲取網路介面ip位址*/
struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr; //方便操作設定指向sockaddr_in的指標
char ip[16]; //儲存ip位址字串
memset(ip , 0 , 16);
memcpy(ifr.ifr_name , "eno1" , strlen("eno1") + 1);
err = ioctl(s , siocgifaddr , &ifr);
if(!err)
/*獲取網路廣播位址*/
err = ioctl(s , siocgifbrdaddr , &ifr);
if(!err)
/*查詢目的ip位址*/
err = ioctl(s , siocgifdstaddr , &ifr);
if(!err)
/*查詢子網掩碼*/
err = ioctl(s , siocgifnetmask , &ifr);
if(!err)
return 0;
}
linux c語言獲取系統時間
gmtime 取得目前時間和日期 獲得相關函式 time,asctime,ctime,localtime 表頭檔案 include 定義函式 struct tm gmtime const time t timep 函式說明 gmtime 將引數timep 所指的time t 結構中的資訊 轉換成真實...
用滑鼠獲取介面的座標
方法一 響應滑鼠右鍵訊息 wm rbuttondown 新增 cstring str str.format 座標 x d,y d point.x,point.y afxmessagebox str 右擊滑鼠即出現座標。方法二 在onmousemove訊息相應函式中 響應訊息wm mousemove ...
C winform介面的語言切換
if file.exists xmlpath 不存在xml檔案,建立檔案並寫入根節點 xmldocument xmldoc new xmldocument xmldoc.load xmlpath xmlnode xmlnode xmldoc.getelementbyid form.name if x...