Ciao a tutti,
sto usando le librerie winsock2.lib ma ho un problema un pezzo di codice (funzionante) che pero non riesco bene a comprendere...
l istruzioneCodice PHP:struct hostent *str; // questa riga dichiara una struct di tipo hostent che è così fatta:
typedef struct hostent {
char FAR* h_name;
char FAR FAR** h_aliases;
short h_addrtype;
short h_length;
char FAR FAR** h_addr_list;// qua ci dovrebbe essre la lista di indirizzi IP dell host locale
} hostent;
mette nella struttura puntata da str le informazioni relative all host locale... fin qui tutto bene....Codice PHP:str=gethostbyname("");
ma cio che non mi capisco sta in questa istruzione:
che stampa a video l indirizzo IP del PC locale.Codice PHP:printf("%s\n",inet_ntoa(*(struct in_addr *)*str->h_addr_list));
La funzione inet_ntoa è definita così
ora qualcuno mi spiega questa serie di puntamenti e casting??Codice PHP:char* FAR inet_ntoa(
struct in_addr in
);
Grazie!Codice PHP:*(struct in_addr *)*str->h_addr_list
![]()
![]()
![]()

Rispondi quotando
