[C]gets
Fermé
sùsù
-
1 juil. 2010 à 22:11
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 juil. 2010 à 09:16
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 juil. 2010 à 09:16
2 réponses
chiti_
Messages postés
1046
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
23 novembre 2014
128
2 juil. 2010 à 01:49
2 juil. 2010 à 01:49
flushall(); qu'est ce qu'elle fait, oubien, tu peux nous donner son code source??
et puis, essaye de remplacer gets par scanf, histoire de voir ce qui se passera
et puis, essaye de remplacer gets par scanf, histoire de voir ce qui se passera
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
2 juil. 2010 à 09:16
2 juil. 2010 à 09:16
Bonjour,
La fonction flushall() n'est pas standard. Utilise plutôt la fonction flush(stdout) pour vider le flux de sortie.
Ensuite, la fonction gets doit être oubliée. C'est une fonction très dangereuse puisqu'elle ne permet pas de spécifier une taille. D'ailleurs les scanf tels qu'utilisés sont également dangereux. Je te conseille plutôt d'utiliser : fgets.
Sinon, pour la correction de ton programme (sans tenir compte de mes remarques) :
Comme tu le remarqueras, je n'ai pas mis d'esperluette (&) devant le tableau/pointeur.
Aussi, il faut enlever toutes les esperluettes comme dans :
Je te laisse faire les autres.
Et enfin, j'espère que les tableaux/pointeurs de ta structure tab_client sont bien initialisées.
Cdlt,
La fonction flushall() n'est pas standard. Utilise plutôt la fonction flush(stdout) pour vider le flux de sortie.
Ensuite, la fonction gets doit être oubliée. C'est une fonction très dangereuse puisqu'elle ne permet pas de spécifier une taille. D'ailleurs les scanf tels qu'utilisés sont également dangereux. Je te conseille plutôt d'utiliser : fgets.
Sinon, pour la correction de ton programme (sans tenir compte de mes remarques) :
printf("Saisir adresse: "); flush(stdout); /*au lieu de flushall(); */ scanf("%s",tab_client[nb_client].adr);/*au lieu de gets(tab_client[nb_client].adr); */
Comme tu le remarqueras, je n'ai pas mis d'esperluette (&) devant le tableau/pointeur.
Aussi, il faut enlever toutes les esperluettes comme dans :
scanf("%s",tab_client[nb_client].nom /*au lieu de scanf("%s",&tab_client[nb_client].nom); */
Je te laisse faire les autres.
Et enfin, j'espère que les tableaux/pointeurs de ta structure tab_client sont bien initialisées.
Cdlt,