- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IPアドレスとMACアドレスを取得したい(C言語))
C言語でIPアドレスとMACアドレスを取得する方法
このQ&Aのポイント
- C言語で自分のIPアドレスとMACアドレスを取得する方法について説明します。
- Linux上でC言語を使って自分のIPアドレスとMACアドレスを取得する方法を紹介します。
- C言語のプログラムでioctl関数を使用してIPアドレスとMACアドレスを取得する方法を説明します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
/usr/include/linux/if.h にある struct ifreq の定義を良く見て貰えば分かると思いますが、ifr_ifru は union です。で、その union の中に ifru_addr と ifru_hwaddr があり、これが ifr_name と ifr_hwaddr に #define で定義されています。つまり union なのでこれらは同じ領域を取ります。 ということで、IPアドレスを取得後に自分で確保した struct sockaddr_in の変数に内容をコピーしておいてそれからMacアドレスを取得するか、または最初から strut ifreq ifr1, ifr2; のように2つ変数を作っておいて別々に取得すればいいと思います。
お礼
ありがとうございます。無事解決しました☆