le_mariole
Messages postés5Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention11 juin 2009
-
28 juin 2007 à 14:11
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 2012
-
28 juin 2007 à 21:02
Bonjour voila dans mon programme le code suivant est zappé ,le programme 'zap' la fonction fgets si quelqu'un savait pourquoi...merci d'avance...
printf("\n\n\n\n\n\n\n Pour quelle(s) raison(s) vous avez besoin d'un mot de passe?\n\n");
printf(" important ne pas appuyer sur entrer avant d'avoir redige la phrase.\n\n\n");
fgets(var, 250, stdin);
var[strlen(var) - 1] = '\0';
if (longueurChaine(var)==0)
{
system("cls");
printf("\n\n\n\n\n Vous n'avez rien taper,veuillez relancer le programme et taper au moin un mot\n");
system("pause");
return 0;
}
THEwarrior333
Messages postés192Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention30 janvier 2008 28 juin 2007 à 19:59
c'est bien char var[250], car char * var[250] est un tableau de
pointeurs sur des char, soit un tableau de chaines de caractères et ce
n'est pas ce que tu souhaites. Donc finalement deux solutions pour
déclarer var:
- en statique comme tu as fais:
char var[256];
et c'est certainement la meilleure solution ici
- en dynamique:
char * var;
var (char*)malloc((256+1)*sizeof(char)); // enfin ici sizeof(char) est inutile car 1
En n'oubliant pas à la fin de détruire var par free(var);
Ensuite, fgets s'emploie plutôt pour la lecture dans des fichiers (flux) donc utilises
gets(var);
le_mariole
Messages postés5Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention11 juin 2009 28 juin 2007 à 19:22
j'avais definit var par char var[250],je viens de mettre char *var[250] et j'ai rajouté les pointeurs ans le programme ;la fenetre ne zappe plus le passage mais se fige 2 seconde puis se ferme automatiquement....
le_mariole
Messages postés5Date d'inscriptionmardi 21 février 2006StatutMembreDernière intervention11 juin 2009 28 juin 2007 à 20:17
J'ai validé ta réponse car l'erreur ne vient pas de fgets mais vient de la structure de mon programme car si je compile juste la fonction gets que tu m'a donné et que je l'affiche a l'écran ça marche niquel mais une fois intégré au programme ça deconne.Je vois d'ou viens l'erreur grace a ton aide merci bonne soirée.
Vous n’avez pas trouvé la réponse que vous recherchez ?