Bonsoir tout le monde,
Alors voici mon mini problème, je voudrai que l'utilisateur entre un nom, mais lorsqu'il entre un nom trop long (20 caractères maximum) il doive répéter l'opération jusqu'à ce que ce soit ok. J'ai donc penser à ceci :
En faisant comme ceci, logiquement cela devrait fonctionner tranquillement. Excepté lorsque l'on entre un nom trop long, car ensuite quand on entre un nom de taille correcte, il m'affiche une erreur de segmentation. Et c'est l'instruction strcpy(...) l'origine de l'erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 printf ("Entrez son nom: "); gets (aide); EspaceToTiret(aide,strlen(aide)); taille=strlen(aide); while(taille>20){ printf ("Recommencez: (20 caractères) "); gets(aide); taille=strlen(aide); } EspaceToTiret(aide,strlen(aide)); strcpy(courant->nom, aide);
Je ne vois pas pourquoi cela se produit, d'autant plus que lorsque j'affiche le contenu de la variable aide juste avant la copie, c'est ok.
Partager