December 11, 200718 yr 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..? Edited December 14, 200718 yr by kgabou
December 11, 200718 yr 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)
December 11, 200718 yr Author 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...
December 12, 200718 yr ce qui serais sympa, ce serais aussi que tu mettes ton code entre balise et que tu l'indentes proprement
December 13, 200718 yr Author 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);
Archived
This topic is now archived and is closed to further replies.