begin process at 2010 03 15 06:50:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Corrigez mon code? Comment récupérer la taille d'un fichier?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Corrigez mon code? Comment récupérer la taille d'un fichier?

vendredi 28 octobre 2005 à 13:17:33 | Corrigez mon code? Comment récupérer la taille d'un fichier?

supergrey

Bonjour j'utilise pour l'instant la fonction suivante pour récupérer la taille d'un fichier:
 
DWORD TailleFichier(char* str_NomFichier)
{
    HANDLE hFile;
    //ouverture du fichier
    hFile = CreateFile(str_NomFichier ,
        GENERIC_READ ,
        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;
}


Le probleme c'est qu'elle a tendance a retourner une taille nulle. Je pensais que le fichier était déja ouvert en ecriture mais ce n'est pas ca est-ce que mon code est mauvais? Est-ce qu'il y a une meilleur methode ?
Merci

vendredi 28 octobre 2005 à 14:20:59 | Re : Corrigez mon code? Comment récupérer la taille d'un fichier?

AlexMAN

Membre Club
Assure toi que le fichier existe bien, car avec le flag OPEN_ALWAYS, si le fichier n'existe pas, il sera créé, avec une taille nulle donc.
Tu n'as qu'a remplacer OPEN_ALWAYS par OPEN_EXISTING, et tester apres CreateFile() si le handle renvoyé est correct. (if (INVALID_HANDLE_VALUE == hFile) return -1; par exemple).


+2(p - n)
vendredi 28 octobre 2005 à 14:22:55 | Re : Corrigez mon code? Comment récupérer la taille d'un fichier?

BruNews

Administrateur CodeS-SourceS
DWORD TailleFichier(char* str_NomFichier)
{
  HANDLE hFile;
  DWORD Taille;
  //ouverture du fichier
  hFile = CreateFile(str_NomFichier, GENERIC_READ,
        FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
  if(hFile == INVALID_HANDLE_VALUE) return 0;
  Taille = GetFileSize(hFile,NULL);
  CloseHandle(hFile);  //fermeture du fichier
  return Taille;
}

Faudrait prendre l'habitude de calculer sur 64 bits, nous sommes fin 2005 et les fichiers > 4 Go deviennent monnaie courante.

ciao...
[ Lien ]
BruNews, MVP VC++


Cette discussion est classée dans : fichier, récupérer, taille, code, hfile


Répondre à ce message

Sujets en rapport avec ce message

envoi de fichier par socket [ par Anacr0x ] bon vouala, j'ai crée un serveur et un client, tt se passe bien, il parle entre eux et tt et tt. Par contre, quan je veu envoyer un fichier, ca merd ! Récupérer taille d'un méga fichier [ par Weedy_59 ] Enfin j'aurai peut-etre dus écrire en titre, avoir la taille d'un Giga fichier, lol. Oui mon problème c'est que je n'arrive pas à récupérer la taille QWORD ? [ par Ziman ] Bonjour,j'aimerai récupérer la taille d'un fichier, j'utilise donc GetFileSize() après l'avoir ouvert avec CreateFile(). Pour les petits fichiers, ben Malloc et mémoire affectée [ par Chop_chop ] Bonjour,J'ai un petit soucis quant à l'allocation de mémoire pour un char* avec l'utilisation de malloc.Voici mon code (bien allégé) :[CODE] char *fic fstream, >> et << [ par Roro8883 ] Bonjour à tous !J'ai un problème dans mon code avec la fonction fstream.Ca fait depuis un moment que je suis dessus et je trouve pas le problème.Si qu Récupérer une matrice à partir d'un fichier [ par neone ] Bonjour, je chercher a récupérer une matrice a partir d'un fichier. 1- la taille est variable (nombre de lignes et colonnes) 2- les données sont organ de C vers C++ ? [ par boualiasma ] Salut, J'ai crée mon programme C sous Windows avec Visaul Studio 2008. Lorsque j'ajoute un fichier alors je trouve un fichier c++. Mais, je mis par e Lecture fichier .config [ par wislam2007 ] Salut J'ai le code ci-dessous qui permet la lecture d'un fichier .config, le probleme que sous DevCpp marche mais avec visual c++ 6.0 non plus. [code= fonction qui retourne une structure [ par lamiaa1984 ] Bonjour tout le Mondeje souhaite lire un ficher et mettre ses valeurs dans des variables, puis je veux affecter ces variable dans des variable d'une s Récupérer un string dans un ListView [ par boubou40 ] Bonjour !!!Alors voila je vous éxplique mon problème : j'ai créer un bouton pour générer un fichier texte et je voudrait que dans ce fichier .txt il y


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales