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

tomtom -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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 1277 Date d'inscription   Statut Contributeur Dernière intervention   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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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 706 Date d'inscription   Statut Membre Dernière intervention   101 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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