Accueil > Forum > > > > Corrigez mon code? Comment récupérer la taille d'un fichier?
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
|
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
|
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
Livres en rapport
|
Derniers Blogs
MIX10 A LAS VEGAS : IMMERSIONMIX10 A LAS VEGAS : IMMERSION par odewit
Hi from Vegas !
En resume [je corrigerai les accents a mon retour !], Las Vegas m'impressionne par sa demesure.
Ou que l'on aille, les itineraires traversent des salles bruyantes pleines de machines a sous et de tables de jeu.
Les decors, surtout a...
Cliquez pour lire la suite de l'article par odewit [RIA SERVICES] MAITRE - DéTAIL ET DOMAINDATASOURCE[RIA SERVICES] MAITRE - DéTAIL ET DOMAINDATASOURCE par Audrey
A l'occasion d'un projet client, j'ai utilisé RIA Services avec Silverlight 3 (mais cela fonctionne aussi avec la version 4), et je l'ai utilisé pour une interface façon Maitre / Détail. Voici comment j'ai procédé pour arriver à mes fins. Nous allons pren...
Cliquez pour lire la suite de l'article par Audrey CSDL FUNCTIONCSDL FUNCTION par Matthieu MEZIL
Dans mon post précédent , j'ai utilisé une CSDL Function afin de générer une requête SQL avec un DateDiff utilisant la date courante sur la BD à partir d'une requête LINQ. Dans le cadre de ce post , vous avez probablement remarqué que dans le cadre de plu...
Cliquez pour lire la suite de l'article par Matthieu MEZIL LINQ TO ENTITIESLINQ TO ENTITIES par Matthieu MEZIL
Cette semaine je suis à Montréal en tant que speaker sur Entity Framework pour l'évènement confoo . J'en profite pour remercier les organisateurs de cet évènement de m'avoir fait confiance et Access-IT de m'avoir permis d'y participer. En parallèle, j'ai ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010 par neodante
La nouvelle interface d'Office 2010 à amener quelques modifications par rapport à celle de 2007. Certes mineures, ces modifications ont fait disparaître la case à cocher de l'onglet 'Développeur' en première page du panneau du 'bouton Office' (dans Office...
Cliquez pour lire la suite de l'article par neodante
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|