Ecrire dans un fichier

Résolu
M@teo -  
 M@teo -
Bonjour à tout le monde,

Je viens de commencer à apprendre à programmer en C avec Code::Blocks sous Windows 7, et je viens juste de voir comment écrire dans un fichier. J'ai essayé de faire le programme suivant, mais il ne marche pas, bien qu'il n'y ait aucune erreur à la compilation:

#include <stdio.h>
#include <stdlib.h>
#define TAILLE_MAX_CHAINE 1000

int main(int argc, char *argv[])
{
FILE* fichier = NULL;
int age=0;
char message_age[]="Age du joueur:";
char chaine_temp[TAILLE_MAX_CHAINE] = "";

printf("Quel age avez vous?\nVotre age => ");
scanf("%d", &age);

fichier = fopen("test.txt", "w+");

if (fichier != NULL)
{
fputs("Age du joueur:\n", fichier);
fprintf(fichier, "%d", age);
rewind(fichier);
while(strcmp(chaine_temp , message_age)!=0)
{
fgets(chaine_temp,TAILLE_MAX_CHAINE, fichier);
}
age=0;
fscanf(fichier, "%d", &age);
printf("Ah! Vous avez donc %d ans!", age);

fclose(fichier);
}
else
{
printf("Impossible d'ouvrir le fichier test.txt, vérifiez son existance");
return 0;
}

return 0;
}

Si quelqu'un saurait pourquoi il ne marche pas, je le remercie d'avance de me le dire.

A voir également:

2 réponses

scribedico Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   2
 
laisse !
c'est moi qui doit retourner à l'école, tu as raison , W+ ouvre le fichier en lecture et écriture (:-)

essaie ça : char message_age[]="Age du joueur:\n";

fgets recupère un retour chariot dans le buffer
1
M@teo
 
Merci ça marche maintenant!
0
scribedico Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   2
 
Salut,

ton fichier est ouvert en écriture, et tu envoies une fonction de lecture.
Sans aller plus loin, referme le après avoir enregistré l'age, et ouvre le ensuite en lecture .
0
m@teo
 
je ne comprend pas, j ai pourtant appris que w+ permettait d ecrire et de lire un fichier. Quel mode devrais je prendre si ce n est pas le cas?
0