2010-09-22 10 views
8

Ho un indirizzo IP memorizzato in in_addr_t e voglio creare la corrispondente rappresentazione di stringa di questo tipo di dati (ad esempio in_addr_t a 10.0.0.1).in_addr_t alla stringa

Come posso farlo?

risposta

7

Prova inet_ntop

come documentato qui: - manpagez

+0

inet_ntop accetta const void * limita src come argomento. Il mio tipo è in_addr_t. Come posso convertire tra loro due? – cateof

+1

@cateof: puoi semplicemente passare l'indirizzo della tua variabile 'in_addr_t' come argomento' src', con 'AF_INET' come argomento' af'. – caf

+0

Documentazione più recente [qui] (http://man7.org/linux/man-pages/man3/inet_ntop.3.html) – HappyCactus

-1

char *inet_ntoa(struct in_addr in);
è la funzione desiderata.

+2

inet_ntoa() sembra essere considerato deprecato. – unwind

+2

inet_ntoa prende un in_addr che non è lo stesso di inet_addr_t. Si prega di considerare di cambiare la risposta. – WeGi

+0

'inet_ntoa' è una funzione non rientranti, poiché restituisce un buffer statico. Quindi meglio usare 'inet_ntop' invece di' inet_ntoa'. – rashok