Lire un fichier

Fermé
zizotta - 9 déc. 2012 à 08:33
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 déc. 2012 à 10:35
saluuut
je veux ecrire un programme C qui lit un fichier contenant une ligne de 3 entiers séparés par des espaces (exp 2 1 3). J'ai essayé ce travail el le programme m'affiche "erreur" meme si le fichier n'est pa vide

/**************************/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/***/ void main ()
{
int s,n,p;

FILE* fichier = NULL;

fichier = fopen("c:\\fich","r" )
if (fichier== NULL)
printf("erreur" );
else
{
fscanf (fichier,"%d %d %d ",&s,&n,&p );
printf("%d %d %d ",s,n,p);
fclose(fichier);
}
}
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
9 déc. 2012 à 10:35
S'il t'affiche "erreur" c'est que fichier==NULL.
Es-tu sûr que C:\fich existe ? Ne serait-ce pas fich.txt ? Attention aux extensions masquées.

De plus, ce n'est pas void main() mais int main(void) le prototype de main sans argument.
Je te conseille de mettre un fflush(stdout); à la fin de ton printf ou alors de mettre un saut de ligne : printf("%d %d %d\n", ...);

A la fin, il faut renvoyer : return 0;
0