получить значение ipaddress - PullRequest
0 голосов
/ 01 апреля 2010

я хочу получить IP-адрес mycomputer в переменной это заявление печатает IPaddress моего компьютера но я хочу назначить его в переменной Как я могу получить значение IPaddress из inet_ntoa(inaddrr(ifr_addr.sa_data)) в переменную IP типа char*.

printf("IP Address: %s\n", inet_ntoa(inaddrr(ifr_addr.sa_data)));

1 Ответ

2 голосов
/ 01 апреля 2010

inet_ntoa уже возвращает char * - просто он указывает на статический буфер, который будет перезаписан при последующих вызовах. Если вы хотите сохранить указанную строку, вы можете просто использовать strdup():

char *ip;
/* ... */
ip = strdup(inet_ntoa(inaddrr(ifr_addr.sa_data)));

Вы должны позвонить free() на ip, когда закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...