Role de fgetc

Yosra -  
 Yosra -
Bonjour,
je voulais savoir si je peux utiliser la fonction "fgetc" pour lire le contenu d'un fichier qui contient des entiers et des caractéres , sinon quelle fonction je pourrais utiliser. Merci de m'aider .
c'est urgent .
A voir également:

2 réponses

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
fgetc() te retournera tous les caractères un par un du fichier. Donc si tu souhaites lire un entier, il te faudra traiter le cas. Par contre tu peux utiliser la fonction fscanf qui devrait te convenir si tu sais où se situent les entiers à lire. Si tu ne sais pas, dis en plus sur le contenu du fichier.

Cdlt,
0
Yosra
 
voilà mon fichier :
//ce fichier contient les données pour un automate reconnaissant les mots de l'expression reguliére
(a|b)*abb
a b
4 2
1 0
1 2
1 3
1 0
3

et je suis entrein de faire une fonction qui compte le nombre de lignes de ce fichier.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > Yosra
 
Tu peux donc bel et bien utiliser fscanf.
int nb1,nb2;
fp=fopen(...);
fscanf(fp,"%d %d",nb1,nb2);
0
yosra > fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention  
 
slt,
int nbrlignes( file*automate)
{
int nbrligne=0,c;
while ( ( ( c= fgetc(automate) )!= EOF) )
'
if (c== '/n')
{
nbrligne++;
}
}
return nbrlignes;
}
c'est la fonction du fichier précedent, je vais compter le nombre de ligne mais le probléme qu'il contient des entiers et des caractére. comment le faire.
merci d'avance.
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Pour le nombre de lignes ta façon est très bien. Tu peux lire tous les caractères avec fgetc, tu liras donc aussi les chiffres qui sont des caractères particuliers. Par contre il s'agira du code ascii du chiffre qui est différent du chiffre lui-même. Mais cela ne pose aucun souci pour déterminer le nombre de lignes puisque tu recherches les \n.
0
Yosra
 
Merci bcp Fiddy :)
0