• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IPアドレスとMACアドレスを取得したい(C言語))

C言語でIPアドレスとMACアドレスを取得する方法

このQ&Aのポイント
  • C言語で自分のIPアドレスとMACアドレスを取得する方法について説明します。
  • Linux上でC言語を使って自分のIPアドレスとMACアドレスを取得する方法を紹介します。
  • C言語のプログラムでioctl関数を使用してIPアドレスとMACアドレスを取得する方法を説明します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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つ変数を作っておいて別々に取得すればいいと思います。

zunzunzunzunzun
質問者

お礼

ありがとうございます。無事解決しました☆