2010-04-01 3 views
0

я хочу, чтобы получить IPAddress из MyComputer в переменной гравюр этого утверждением Ipaddress моего компьютера , но я хочу, чтобы назначить его в varible , как я могу получить значение IPaddress из inet_ntoa(inaddrr(ifr_addr.sa_data)) в переменный ф char* тип.выборка значения IPaddress

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

Как мы указывали последние три раза, вы спросили об этом, это дубликат. Прочитайте ответ, с которым мы связались, когда мы его закрыли. –

+0

Возможный дубликат http://stackoverflow.com/questions/485769/how-do-i-find-a-computers-ip-address –

+0

http://stackoverflow.com/questions/917332/getting-my-ip- адрес –

ответ

2

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

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

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

Смежные вопросы