bigbourin
Messages postés64Date d'inscriptionlundi 12 avril 2004StatutMembreDernière intervention18 août 2006
-
8 avril 2006 à 23:42
awolf75
Messages postés1Date d'inscriptionmercredi 14 mars 2007StatutMembreDernière intervention14 mars 2007
-
14 mars 2007 à 15:05
Bonjour a tous, voila je cherche une fonction pour récupéré la taille d'un fichier mais sous linux. donc les API W32 ...voila. Je pensait trouver mon bonheur dans les vieux post mais apparement tout est avec les API W32.Merci d'avance pour vos reponces.
ps : j'utilise gcc sur une distro Debian et une archi i386
Bel0
Messages postés71Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention14 septembre 2007 10 avril 2006 à 12:01
BigBourin: tu dois avoir commis une erreur parce que cette méthode fonctionne très bien.
Joky: ca n'est pas la meilleure façon de procéder. Il se peut très bien que les permissions mises sur le système de fichier permettent de lister le contenu d'un dossier (permission en lecture sur le dossier) mais ne permettent pas d'ouvrir le fichier en lecture. Or ta méthode nécessite absolumenent de savoir ouvrir le fichier en lecture ... tu risques donc d'avoir une erreur alors qu'il est possible de lire la taille du fichier.
Pour en revenir à ta méthode. A ton avis que fait la librairie standard C quand tu lui demandes de faire un fseek à la fin du fichier ... elle va chercher les informations concernant le fichier (sans doute en utilisant stat ou fstat puisque le fichier est déjà ouvert) et avance le pointeur de lecture jusqu'à la fin. Mais pourquoi ouvrir le fichier pour avoir l'information sur la taille alors que celle-ci est directement disponible à partir de stat.
bigbourin
Messages postés64Date d'inscriptionlundi 12 avril 2004StatutMembreDernière intervention18 août 2006 11 avril 2006 à 02:05
Merci pour vos réponce mais comme j'ouvre le fichier de toute facon c'est plus simple d'utiliser fseek et ftell. j'ais résolu mon problemme, merci bcp ^^
awolf75
Messages postés1Date d'inscriptionmercredi 14 mars 2007StatutMembreDernière intervention14 mars 2007 14 mars 2007 à 15:05
j'ai une question qui va dans le sens, comment recuperer la taille d'un fichier qui fait plus de 4 Go le ftell me donne 4 294 967 295 quelque soit la taille du fichier abec un fopen64, et pour le fopen n'en parlont pas il n'ouvre meme pas le fichier???