Lire, écrire, fichier texte en c [Résolu]

phoenixgreg 77 Messages postés mardi 17 novembre 2009Date d'inscription 18 août 2015 Dernière intervention - 23 nov. 2010 à 15:12 - Dernière réponse : phoenixgreg 77 Messages postés mardi 17 novembre 2009Date d'inscription 18 août 2015 Dernière intervention
- 24 nov. 2010 à 10:55
Bonjour à tous,

Voilà je j'arrive à insérer mes données dans mon fichier texte, donc le nom + le score, mais en le lisant il ne me met pas le nom sauf le score :( je pense avoir oublié qql chose mais je ne vois pas où. Pouvez-vous m'aider ?![

Code pour écrire :

code=cpp]FILE *fichier = fopen ("c:\\to5.txt", "a");
if (fichier != NULL)
{
printf ("Veuillez indiquer votre nom :\n");
fprintf (fichier, "%s - %d\n\n", nom, score);
printf ("Votre score a bien ete pris en compte !!!\n");
fclose (fichier);/code

Code pour lire :
int top5 ()
{
int h_fic;
char ligne [80];
int nb_car_lus;
int i;
/* effacement de l'écran */
clrscr ();
/* Ouverture du fichier */
h_fic = open ("c:\\top5.txt", O_CREAT);
/* Test si fichier ouvert */
if (h_fic == -1)
{
printf ("Impossible d'ouvrir le fichier");
getch ();
return (1);
}
while (!eof (h_fic))
{
/* Lecture de 80 octets maximum */
nb_car_lus = read (h_fic, ligne, 80);
/* Ecriture de ce qui a ?t? lu */
for (i=0; i<nb_car_lus; i++)
{
printf ("%c",ligne [i]);
}
printf ("\n");
}
/* Fermeture du fichier*/
close (h_fic);

/* Ecrire que c'est terminé */
printf ("\n --- FIN ---\n\n");

system("pause");
clrscr();
main();
getch ();
return (0);
}

Merci !!
            
Afficher la suite 

Votre réponse

2 réponses

BunoCS 13830 Messages postés lundi 11 juillet 2005Date d'inscription 18 mai 2018 Dernière intervention - 23 nov. 2010 à 16:38
+3
Utile
Hello,
printf ("Veuillez indiquer votre nom :\n"); 
fprintf (fichier, "%s - %d\n\n", nom, score);

-> il te manque quelque chose: printf() sert à afficher dans la console et fprintf() à écrire dans ton fichier
Entre ces 2 lignes, il te manque la récupération du nom : regarde scanf()
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de BunoCS
phoenixgreg 77 Messages postés mardi 17 novembre 2009Date d'inscription 18 août 2015 Dernière intervention - 24 nov. 2010 à 10:55
0
Utile
Merci c'était tt bête ^^
Commenter la réponse de phoenixgreg

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.