Bonjour à tous,

J'ai un problème de différences entre deux chaines :
L'une est inititialisée simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
char *chaine1="127.0.0.1";
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
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));
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
 
...
  char *chaine2;
  chaine2 = param.IP;
  printf("chaine1 : %s longueur : %d\n",SERVEUR, strlen(chaine1));
  printf("chaine2 : %s longueur : %d\n",SERVEUR2, strlen(chaine2));
...
J'obtiens le résultat suivant :
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
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

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.