kgabou Posté(e) le 11 décembre 2007 Partager Posté(e) le 11 décembre 2007 Salut tout le monde. Alors, voilà un code que mon prof m'a donné (on commence à voir les modifications de fichiers) : # include <stdio.h> int main() { int i; FILE *f; f=fopen("essai.dat","wt"); i=2; fprintf(f,"%d",&i); fclose(f); i=3; fprintf(f,"%d",&i); fclose(f); f=fopen("essai.dat","rt"); fscanf(f,"%d",&i); printf("Voici i:\n %d",i); fclose(f); } Si j'ai bien compris ce code crée le fichier texte essai.dat, écrit 2 dedans, le ferme, le réouvre, écrit 3, le ferme à nouveau puis renvoie 3. Je me trompe ? Bref le fait est que lorsque je rentre ça sous Dev-C++, je me retrouve avec 2293588 renvoyé par la console quand j'exécute, et écrit dans le fichier... J'ai un peu de mal à comprendre... quelqu'un aurait-il une idée..? Lien vers le commentaire Partager sur d’autres sites More sharing options...
keneda212 Posté(e) le 11 décembre 2007 Partager Posté(e) le 11 décembre 2007 malgré le fait que le code ne soit pas beau, je crois qu'il manque un fopen dans le script il ouvre le fichier, ecrit 2, puis le ferme. il ecrit 3 dedans et il le referme (il doit manquer un fopen avant non ?) apres il le réouvre, lit un entier, puis ferme le fichier et au final il attend un entier provenant de l'entrée standart (ton clavier a priori) Lien vers le commentaire Partager sur d’autres sites More sharing options...
kgabou Posté(e) le 11 décembre 2007 Auteur Partager Posté(e) le 11 décembre 2007 Oui le scanf à la fin c'est moi qui l'ait rajouté pour empêcher la fenêtre de se refermer. Merci pour le fopen, t'as raison, j'essaye ça et je reviens Bon ben ça marche pas, toujours le même problême... Lien vers le commentaire Partager sur d’autres sites More sharing options...
keneda212 Posté(e) le 11 décembre 2007 Partager Posté(e) le 11 décembre 2007 fprintf(f,"%d ",&i); tu penses pas qu'il y a un soucis ici Lien vers le commentaire Partager sur d’autres sites More sharing options...
kgabou Posté(e) le 11 décembre 2007 Auteur Partager Posté(e) le 11 décembre 2007 J't'adore keneda Ca marche Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 Ca peut aider d'autres personnes, on sait jamais Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 12 décembre 2007 Partager Posté(e) le 12 décembre 2007 ce qui serais sympa, ce serais aussi que tu mettes ton code entre balise et que tu l'indentes proprement Lien vers le commentaire Partager sur d’autres sites More sharing options...
kgabou Posté(e) le 13 décembre 2007 Auteur Partager Posté(e) le 13 décembre 2007 C'est fait, par contre je laisse l'erreur dans le code initial, la solution étant de ne pas mettre de & à intérieur du fprintf. Code correct : fprintf(f,"%d",i); fclose(f); i=3; fprintf(f,"%d",i); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.