Q:les fichiers textes en C

mido9 -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour à tous,

je voudrais faire un programme qui permet d'afficher des statistiques sur un fichier texte dont le nom est entré par l'usager le programme doit :
1 -saisir le nom d'un fichier( )
2.afficher
-la taille du fichier
-le nombres des lignes dans le fichier
-le nombre que le caractère S se trouve dans le fichier ( )

je me bloque sur la taille et nombres de lignes ,

Q: existe-t-il une fonction en C qui permet de retourner la taille d'un fichier texte ?
si oui est-elle ftell(fichier) ?

et aussi pour la taille je crois que je dois conter toutes les caractères après je le multiplie par 8 pour avoir (la taille en octets) ..?

merci (je suis débutant ) SVP soyez concis dans vos réponse .

3 réponses

mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Moi je ferais plutôt un truc à base de fseek :
The  fseek()  function sets the file position indicator for the stream pointed to by stream.  The new position, measured in bytes, is obtained by
adding offset bytes to the position specified by whence.  If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the  offset  is  relative  to  the
start  of  the  file, the current position indicator, or end-of-file, respectively.  A successful call to the fseek() function clears the end-of-
file indicator for the stream and undoes any effects of the ungetc(3) function on the same stream.

Bonne chance
0
mido9
 
salut,

malheresement , je ne comprends pas ce que t'a fait tu peut l'expliquer un français svp ?


merci mido9
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Le man en français :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/fseek.3.html

L'idée est de comparer la position en début et en fin de fichier, et de convertir le résultat pour avoir la taille du fichier.

Bonne chance
0