Déterminer la taille d'un fichier en C : une approche fiable et portable
En C, obtenir la taille d'un fichier est une opération cruciale souvent rencontrée en programmation tâches. Pour identifier la méthode la plus appropriée pour y parvenir, il est essentiel de prendre en compte des facteurs tels que la portabilité, la fiabilité et la simplicité du code.
Une approche largement utilisée consiste à utiliser la classe ifstream de la bibliothèque standard C. En ouvrant un fichier en mode binaire et en spécifiant l'indicateur ate, le flux d'entrée cherche la fin du fichier. Par la suite, la fonction membre tellg() peut être utilisée pour récupérer la position actuelle dans le fichier, fournissant ainsi la taille du fichier.
Exemple de code :
#include <fstream> std::ifstream::pos_type filesize(const char* filename) { std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary); return in.tellg(); }
Cependant, il est important de noter que cette approche comporte une réserve potentielle. tellg() ne rapporte pas toujours avec précision la taille du fichier sur certaines plateformes. Pour une solution plus robuste, des méthodes alternatives, telles que la recherche de la fin du fichier à l'aide de seekg() et tellg() avant d'ouvrir le fichier en mode binaire, peuvent être nécessaires.
L'extrait de code fourni calcule efficacement la taille du fichier en fonction de la présomption que le fichier peut être ouvert et accessible. Des mécanismes appropriés de gestion des erreurs doivent être implémentés dans une application de niveau production pour tenir compte des exceptions potentielles lors de l'ouverture ou de la lecture de fichiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!