Bonjour à tous,
J'ai un problème de différences entre deux chaines :
L'une est inititialisée simplement :
L'autre est un élément d'une structure initialisée en récupérant le même "texte" depuis un fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char *chaine1="127.0.0.1";
Si je compare les chaînes ainsi obtenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 struct ParametreGlobauxServeur { char BoolSimulServeur; // O ou 1 int NbCliConnect; char *IP; short PortServeur; }; ... param->IP = str_sub(Ligne,PosEgal+1,strlen(Ligne));
J'obtiens le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ... char *chaine2; chaine2 = param.IP; printf("chaine1 : %s longueur : %d\n",SERVEUR, strlen(chaine1)); printf("chaine2 : %s longueur : %d\n",SERVEUR2, strlen(chaine2)); ...
Le problème c'est qu'ensuite je dois stocker l'adresse dans une structure "hostent" et que cela fonctionne sans problème avec chaine1 mais plante avec chaine2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 chaine1 : 127.0.0.1 longueur : 9 chaine2 : 127.0.0.1 longueur : 10
Je pense que je dois avoir un retour chariot dans ma chaine1 mais je ne sais pas comment je peux le retirer de manière à ce que chaine2=chaine1.
Donc si quelqu'un pouvait me fournir cette réponse et m'expliquer le pourquoi du comment cela m'arrangerait énormément.
Merci d'avance.
Partager