Taille fichier

Messages postés
40
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
5 juin 2008
- - Dernière réponse : ncoder
Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
- 19 avril 2007 à 19:19
bonjour,
comment peut on récupéré la taille d'un fichier ?

merci
Afficher la suite 

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13
0
Merci
Sous Windows:
GetFileSize
ou GetFileSizeEx
ou FindFirstFile

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
1
0
Merci
FILE * fichier = NULL;
fichier = fopen(Nom_Du_Fichier, "rb");

if ( fichier == NULL) return;

fseek(fichier , 0, SEEK_SET );//On est au début
fseek(fichier , 0, SEEK_END ); //On trouve la fin du fichier
long Taille = ftell(fichier); //Lire le nombre d'octets

A+
Bonne programmation
<hr size="2" width="100%" />                                         Site
Commenter la réponse de ncoder
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
0
Merci
Ton fseek(fichier , 0, SEEK_SET ) n'est pas au bon endroit. C'est après le ftell qu'il devrait se trouver.

Si son code ne fonctionnera que sous Windows, mieu vaut utiliser GetFileSize.

C++ (@++)<!--
Commenter la réponse de SAKingdom
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13
0
Merci
Sans compter que si le fichier est deja ouvert en exclusif par un autre processus, la taille ne sera jamais retournée.
Il n'y aura en ce cas que FindFirstFile pour assurer le résultat.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
1
0
Merci
BruNews => C'est vrai, si fichier == NULL (on peut pas l'ouvrir, etc...) ça marche pas mais c'était pour montrer une autre solution (peut etre moins bonne, certes).

SAKingdom => OK merci pour l'info (fseek était avant ET après mais je l'avais enlevé)

A+
Bonne programmation
<hr size="2" width="100%" />                                         Site
Commenter la réponse de ncoder