Ecrire dans un fichier
Résolu
M@teo
-
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.
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:
- Ecrire dans un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
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
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
M@teo
Merci ça marche maintenant!