J'ai un pointeur * ip_address_server qui contient l'adresse IP du serveur:valeur de copie du pointeur char à un tableau de caractères
in_addr * address = (in_addr *)record->h_addr;
char *ip_address_server = inet_ntoa(* address);
Il est clair que, quand je l'utilise printf pour imprimer la valeur de celui-ci, il obtient joliment imprimé.
printf("p address %s" , ip_address_server);
Mais maintenant, si je déclare un tableau de dire la taille 20 pour maintenir la valeur alors je dois copier le contenu du pointeur vers le tableau.
char host_name[20];
Pour copier la valeur, j'ai utilisé une boucle for. Mais la valeur que j'imprime plus tard n'est pas la bonne valeur.
for(int i = 0; ip_address_server[i] != '\0'; i++)
host_name[i] = ip_address_server[i];
printf("hostname %s \n" , host_name);
Je pense qu'il y a une erreur avec la condition de terminaison.
Est-ce que je me trompe dans mon approche ou y a-t-il d'autres solutions pour cela?
merci dis vraiment travaillé comme un charme – w2lame