[VC++] et taille d'un fichier

et taille d'un fichier [VC++] - Programmation

Marsh Posté le 12-03-2001 à 11:40:29    

Comment peut-on récupérer la taille d'un fichier ? (Je n'arrive pas à utiliser GetFileSize...).

Reply

Marsh Posté le 12-03-2001 à 11:40:29   

Reply

Marsh Posté le 12-03-2001 à 11:50:57    

il y a la fonction  
 
GetFileInformationByHandle
 
http://msdn.microsoft.com/library/ [...] o_2jtx.htm  
 
en plus elle permet de gerer les fichier de plus de 4Go :pt1cable:  :)  :(  :D  ;)  :ouch:  :eek2:  :o  :pt1cable:  :p  :sarcastic:  :fou:  :??:  :wahoo:  :crazy:  :love:  :benetton:  :hap:  :sol:  :jap:  :sweat:  :eek2:  :spookie:

Reply

Marsh Posté le 12-03-2001 à 11:55:56    

Merci de ta réponse. J'avais vu que tu avais déjà posté ce message à "oh_damned". Mais moi et l'anglais, ça fait 2 (j'essaye pourtant...) et la fonction me renvoie toujours -1 ! Pourrais-tu m'aider ?

Reply

Marsh Posté le 12-03-2001 à 12:06:17    

je lis la doc (msdn)
"If the function succeeds, the return value is nonzero."
 
donc si ca retourne -1, c'est que c'est bon. ou est le probleme??????

Reply

Marsh Posté le 12-03-2001 à 16:41:39    

Soit je n'ai pas tout compris au fonctionnement de la fonction, soit y'a quand même un problème... Moi, je cherche une fonction qui me place la taille du fichier dans une variable (genre : taille=GetFileSize(...) -> taille = X octets, ou X Mo, ou X ko, je ne sais pas quel serait le format).

Reply

Marsh Posté le 12-03-2001 à 16:49:00    

Ben oui, justement, cette fonction place les infos dans la strucutre passée en 2 ème argument :

BOOL GetFileInformationByHandle(
  HANDLE hFile,                                  // handle to file  
  LPBY_HANDLE_FILE_INFORMATION lpFileInformation // buffer
);

 
avec  

typedef struct _BY_HANDLE_FILE_INFORMATION {
  DWORD    dwFileAttributes;  
  FILETIME ftCreationTime;  
  FILETIME ftLastAccessTime;  
  FILETIME ftLastWriteTime;  
  DWORD    dwVolumeSerialNumber;  
  DWORD    nFileSizeHigh;  
  DWORD    nFileSizeLow;  
  DWORD    nNumberOfLinks;  
  DWORD    nFileIndexHigh;  
  DWORD    nFileIndexLow;  
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION;  

 
Et donc tu as nFileSizeHigh qui est le dword de poids fort de la taille du fichier et nFileSizeLow le dword de poids faible.
 
A++

Reply

Marsh Posté le 12-03-2001 à 19:59:52    

Au fait qqun pourrait il e dire comment gérer les dwordde poind faible/lourd ? par exemple avec la structure ci dessus comme avoir la taille ?

Reply

Marsh Posté le 12-03-2001 à 21:35:19    

Même question. J'ai toujours du mal à ressortir la taille...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed