Obtenir la taille d'un fichier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 323 fois - Téléchargée 37 fois

Contenu du snippet

Ce prog utilise la fonction GetFileSize pour obtenir la taille réelle du fichier

Source / Exemple :


#include <stdio.h>
#include <conio.h>

DWORD CEnregistreFichier::CTailleFichier(CString str_NomFichier)	//Fonction a utiliser
{
	HANDLE hFile;
	//ouverture du fichier
	hFile = CreateFile(str_NomFichier ,
		GENERIC_READ | GENERIC_WRITE ,
		0 ,	NULL , OPEN_ALWAYS ,
		FILE_ATTRIBUTE_NORMAL ,	NULL );

	DWORD Taille = GetFileSize(hFile,NULL);	//mesure la taille du fichier

	CloseHandle( hFile );	//fermeture du fichier

	return Taille;
}

A voir également

Ajouter un commentaire

Commentaires

ordiman85
Messages postés
41
Date d'inscription
samedi 4 mars 2006
Statut
Membre
Dernière intervention
19 mars 2010
-
Pour les fichiers superieurs a 2Go et meme a 4Go (teste sur un fichier de 5Go environ) :

#include <stdio.h>

FILE *fp;
__int64 size;

fp = fopen64( "fichier.txt", "rb" );
fseeko64( fp, 0, SEEK_END );
size = ftello64( fp );
soldier8514
Messages postés
295
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
24 janvier 2014
1 -
c bien beau Ragnard mais tu utilises toi aussi un long_

car GetFileSize ne retourne que des long _

donc ici tu charges un long dans un dword _

ce qui en définitive ne sert à rien sinon à utiliser de la mémoire pour rien _ _ _ de plus lutilisation de getfilesize sur des fichiers de plusieurs GiGa ne sert à rien puisquelle te renvoie pas la valeur exacte du fichier puisque _ je le rappelle encore une fois : Getfilesize ne peut renvoyer qu'un long
cs_gaya
Messages postés
47
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
10 août 2002
-
au passage je signalerai que DWORD est un unsigned long , donc on ne peut le comparer a un long :)
Ils n'ont tout deux simplement pas la même utilité.
cs_gaya
Messages postés
47
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
10 août 2002
-
Il y a ENCORE plus simple :

#include

long calculerTaille(FILE *fp){
return filelength(fp->_file);
}
cs_RAGNARD
Messages postés
2
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
8 mai 2002
-
mon commentaire n'etait pas une critique mais une aide pour les devellopeurs debutant qui peuvent ce demander l'interé du DWORD par rapport au long.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.