Problème en C
Résolu/Fermé
lamou23
Messages postés
178
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
21 mars 2011
-
31 mai 2010 à 19:53
gargoyle44 Messages postés 15 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 7 juin 2010 - 6 juin 2010 à 19:27
gargoyle44 Messages postés 15 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 7 juin 2010 - 6 juin 2010 à 19:27
2 réponses
Sir Isaac Newton
Messages postés
193
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
19 décembre 2010
15
6 juin 2010 à 11:42
6 juin 2010 à 11:42
Bonjour,
Pour commencer je vois du C++ et le forum est donc mal intitulé ce qui ne favorise pas les réponses, mais je vous accorde que c'est très proche.
Je vois que vous avez utilisé les fonction d'accès aux fichier du C, aloes qu'il en existe en C++.
Regardez là.
http://pagesperso-orange.fr/stephanie.laporte/Pdf/Les%20fichiers%20en%20C++.pdf
Si ça ne marche pas je vois une autre solution mais plus compliqué donc on verra par la suite.
Pour commencer je vois du C++ et le forum est donc mal intitulé ce qui ne favorise pas les réponses, mais je vous accorde que c'est très proche.
Je vois que vous avez utilisé les fonction d'accès aux fichier du C, aloes qu'il en existe en C++.
Regardez là.
http://pagesperso-orange.fr/stephanie.laporte/Pdf/Les%20fichiers%20en%20C++.pdf
Si ça ne marche pas je vois une autre solution mais plus compliqué donc on verra par la suite.
gargoyle44
Messages postés
15
Date d'inscription
mercredi 2 juin 2010
Statut
Membre
Dernière intervention
7 juin 2010
3
Modifié par gargoyle44 le 6/06/2010 à 19:38
Modifié par gargoyle44 le 6/06/2010 à 19:38
Utilise plutôt ça pour lire ton fichier:
Ça devrait mieux fonctionner. Il te manquera qu'à mettre les 2 gros blocs de code qui se répète dans une fonction et le tour est joué!
Et ton erreur provient de là:
fwrite(&e,sizeof(e),1,pf);
En bref, que tes données emplissent ou pas la longueur max de tes variables, le programme inscris quand même tout sur la longueur totale de e.
do { fread(&e,sizeof(etudiant),1,pf); printf ("donnez le nom de l'employe : "); printf("%s\n",e.nom); printf ("donnez le prenom de l'employe : "); printf("%s\n",e.prenom); printf ("donnez le numero de rue de l'adresse de l'employe : "); printf("%d\n",(int)e.adr.num_rue); printf ("donnez le nom de la rue de l'adresse de l'employe : "); printf("%s\n",e.adr.nom_rue); printf ("donnez le nom de la ville de l'employe : "); printf("%s\n",e.adr.nom_ville); printf ("donnez le code postal : "); printf("%d\n",(int)e.adr.code_postal); } while (!EOF); fread(&e,sizeof(etudiant),1,pf); printf ("donnez le nom de l'employe : "); printf("%s\n",e.nom); printf ("donnez le prenom de l'employe : "); printf("%s\n",e.prenom); printf ("donnez le numero de rue de l'adresse de l'employe : "); printf("%d\n",(int)e.adr.num_rue); printf ("donnez le nom de la rue de l'adresse de l'employe : "); printf("%s\n",e.adr.nom_rue); printf ("donnez le nom de la ville de l'employe : "); printf("%s\n",e.adr.nom_ville); printf ("donnez le code postal : "); printf("%d\n",(int)e.adr.code_postal);
Ça devrait mieux fonctionner. Il te manquera qu'à mettre les 2 gros blocs de code qui se répète dans une fonction et le tour est joué!
Et ton erreur provient de là:
fwrite(&e,sizeof(e),1,pf);
En bref, que tes données emplissent ou pas la longueur max de tes variables, le programme inscris quand même tout sur la longueur totale de e.