Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3074 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  determiner la taille d'un fichier [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

determiner la taille d'un fichier [résolu]

n°683886
da_s_monk
Awwwww! Good Job!
Posté le 25-03-2004 à 14:50:56  profilanswer
 

hello les people c encore moi!
 
petite question: comment fait on pour obtenir la taille d'un fichier en c++ sans faire de boucle de detection du EOF? y a t-il une fonction du genre getfilesize
 
merci d'avance


Message édité par da_s_monk le 25-03-2004 à 15:31:52
mood
Publicité
Posté le 25-03-2004 à 14:50:56  profilanswer
 

n°684005
da_s_monk
Awwwww! Good Job!
Posté le 25-03-2004 à 15:31:23  profilanswer
 

c bon g trouvé:

Code :
  1. #include <iostream>
  2. #include <windows.h>
  3. using namespace std;
  4. void main(){
  5. HANDLE hFile;
  6.         int fSize;
  7. hFile = CreateFile("test.txt", GENERIC_READ, FILE_SHARE_READ, NULL,OPEN_EXISTING, 0, 0);
  8. if(hFile != INVALID_HANDLE_VALUE)
  9. {
  10.  fSize = GetFileSize(hFile, NULL);
  11. }
  12.         cout << fSize <<endl;
  13. }


 
edit: spas beau faut pas copier :-)


Message édité par da_s_monk le 25-03-2004 à 18:21:31
n°684111
Taz
bisounours-codeur
Posté le 25-03-2004 à 17:07:20  profilanswer
 

bof ... c'est un peu pas très beau et surtout terriblement pas portable.  
c'est pas compliqué, tu ouvres ton fichier, tu fais un bond jusqu'à la fin (seekg), et tu mesure la différence d'offset avec tellg et bingo

n°684130
HelloWorld
Salut tout le monde!
Posté le 25-03-2004 à 17:19:16  profilanswer
 

Même en Win32, tu peux avoir la taille sans ouvrir le fichier avec GetFileAttributesEx.
Au fait, le CloseHandle il est où ? :-)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°684189
da_s_monk
Awwwww! Good Job!
Posté le 25-03-2004 à 18:07:47  profilanswer
 

bonbonbon. le close en effet il a pas voulu venir donc je l'ai pas mis. et le pas portable je m'en doutais bien, mais vu ke j'avais besoin de faire ca vite fais gt content ca marchait!
donc je vais en effet explorer la méthode de Taz
 
merci

n°684201
da_s_monk
Awwwww! Good Job!
Posté le 25-03-2004 à 18:20:52  profilanswer
 

en effet c plus simple:
#include <iostream>
#include <fstream>
using namespace std;
 
int main ( )  
{
   ifstream file;
 
   file.open( "test.txt" );
   file.seekg( -1, ios_base::end );
   cout << file.tellg();
   file.close();
}

n°684206
Taz
bisounours-codeur
Posté le 25-03-2004 à 18:24:31  profilanswer
 

pas la peine de fermer le fichier
pas la peine d'appeler open, utilise le constructeur

n°684210
bjone
Insert booze to continue
Posté le 25-03-2004 à 18:30:59  profilanswer
 

attention aux tailles max, fstat64 expose la taille sur 64bits.

n°684215
Taz
bisounours-codeur
Posté le 25-03-2004 à 18:37:28  profilanswer
 

bjone a écrit :

attention aux tailles max, fstat64 expose la taille sur 64bits.

on cherche la portabilité ok :o

n°684526
bjone
Insert booze to continue
Posté le 26-03-2004 à 00:24:34  profilanswer
 

bah les deux existent autant sous windows et sous linux, et sous windows ça passe même sur un cpu 32bits (puisque c'est à la charge du compilo d'émuler l'arithmétique entière en 64bit)


Message édité par bjone le 26-03-2004 à 00:36:10

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  determiner la taille d'un fichier [résolu]

 

Sujets relatifs
[RESOLU][ORACLE] Gestion des nouvelles valeurs à insérer[MySQL] comment faire : DELETE FROM table1,table2 WHERE id=2 [résolu]
Execution d'un fichier .exe a partir du c++[VBA] Browser répertoire [RESOLU] merci ixemul
verifier l'existence d'un fichier a partir de vba[htaccess] - fichier pas clair ... explications requested : )
insertion contenu d'un fichier .txt dans fichier html[php] probleme upload fichier par formulaire
[résolu]lancement de requetes contenu dans des fichiers texte (vb6)Batch DOS - question pour effacer le contenu d'un fichier Host ?
Plus de sujets relatifs à : determiner la taille d'un fichier [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR