vincemail
Messages postés79Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention 8 décembre 2006
-
3 juin 2006 à 11:16
vincemail
Messages postés79Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention 8 décembre 2006
-
3 juin 2006 à 13:00
Bonjour à tous, je suis en train de faire un programme en C++ avec devC++, et je viens de trouver un bug que je n'arrive pas à comprendre, je veux stocker dans un tableau (appelé ligne) des chaines de caractères que je lis dans un fichier, voici le programme (simplifié) :
Et ca plante en envoyant un message d'erreur... le plus surprenant c'est que ca marche lorsque j'inverse l'ordre des déclarations : "char* chaine" et "char**ligne"... et d'autre part je suis obligé d'utiliser une variable intermédiare char* chaine car fichier>>ligne[i]; fait aussi planter le programme... C'est le genre de problème qui me désespère, help !
Merci d'avance
Vincent
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 3 juin 2006 à 11:26
fichier >> chaine;
Ici chaine ne pointe nulle part (pas d'espace alloué). Ca va donc écrire n'importe ou. Dans ces cas la, tu peux donc t'attendre à n'importe que résultat.
Tu devrais déclarer ligne comme un tableau à deux dimensions statique (pas besoin de new si tu connais déja la taille)
vincemail
Messages postés79Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention 8 décembre 2006 3 juin 2006 à 11:37
Effectivement c'était bien ça... En fait je ne connais pas d'avance la taille de mon tableau, mais en la majorant ca fonctionne (et plus besoin de l'intermédiaire "chaine") Merci bien.
Vincent