Langage C:récupéré taille d1 fichier

tomtom -  
fiddy Messages postés 11653 Statut Contributeur -
Lu à tous,

J'ai beaucoup de mal avec le C alor j'ai besoin d'aide. Dans mon prog j'ai besoin de récupéré la taille d'1 fichier,coment faire?

merci davance
A voir également:

2 réponses

tafiscobar Messages postés 1281 Statut Contributeur 177
 
salut, si t'es en posix (sous linux) il ya une structure (je pense stat) qui a un champ qui contient la taille du fichier.

Sinon, en C ansi, tu ouvres ton fichier en lecture, tu te places sur le dernier octet, tu lis le numero de l'octet et c'est la taille de ton fichier (bon bien sur c'est juste la taille absolue, taille réelle ds le disque, jej ne sais pas, puisq'il ya le nom et les differentes tables qui contiennent les references vers les differents blocs).

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
sabiri
 
il y'a plus simple pour compter le nombre de caractères d'un fichier sans utilise de fonctions sur les fichiers :

while(!feof(fichier))
if (getc(fichier) != EOF) taille++;
printf("dernière position via compteur : %d\n",taille);
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
14 ans après...
Sinon la question n'est pas le nombre de caractères mais la taille du fichier...
0
Dalfab Messages postés 720 Statut Membre 101 > fiddy Messages postés 11653 Statut Contributeur
 
Si le fichier a été ouvert en mode binaire plutôt que texte, le nombre de caractère est égal au nombre d'octets donc à la taille du fichier.
La méthode C ANSI de tafiscobar, fonctionne et est plus simple et plus optimale.
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Le nombre de caractères donnera le nombre de bytes (pas d'octets). Donc le lien avec la taille du fichier n'est plus aussi évident. Il faut faire une multiplication après.
Bref, le plus simple est la méthode de tafiscobar :-).
0