Maison >développement back-end >C++ >Comment obtenir la taille d'un fichier en C : une approche simple et fiable ?

Comment obtenir la taille d'un fichier en C : une approche simple et fiable ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-11 12:58:03947parcourir

How to Get a File's Size in C  : A Simple and Reliable Approach?

Détermination de la taille d'un fichier en C

La requête "Comment puis-je obtenir la taille d'un fichier en C ?" invite à explorer la méthode la plus répandue pour accomplir cette tâche tout en adhérant à des critères spécifiques.

Critères :

  • Portable sur toutes les plateformes (Unix, Mac, Windows)
  • Fiable et précis
  • Facile à comprendre et sans dépendances de bibliothèques externes

Approche commune :

Utilisation Fonctionnalités d'E/S de fichier natives de C, une approche courante pour déterminer la taille d'un fichier implique les étapes suivantes :

#include <fstream>

std::ifstream::pos_type filesize(const char* filename) {
    std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
    return in.tellg();
}

Explication :

  1. Inclure le bibliothèque pour les opérations d'E/S de fichiers.
  2. Définissez une fonction filesize qui accepte un nom de fichier comme paramètre et renvoie la taille du fichier sous la forme std::ifstream::pos_type.
  3. Créez un std : :ifstream objet et ouvrez le fichier spécifié par nom de fichier en mode "binaire" (std::ifstream::binary).
  4. Utilisez le mode std::ifstream::ate pour positionner le pointeur de fichier à la fin de le fichier.
  5. Récupérez la position actuelle du pointeur de fichier à l'aide de in.tellg(), qui renvoie la taille du fichier en octets.
  6. Renvoyer la taille du fichier.

Informations supplémentaires :

Veuillez noter que cette solution suppose que le fichier n'est pas ouvert dans d'autres applications, ce qui peut affecter la taille du fichier. Pour plus de détails sur la gestion des fichiers en C , reportez-vous à : http://www.cplusplus.com/doc/tutorial/files/.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn