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
Libérer: 2024-11-11 12:58:03
original
944 Les gens l'ont consulté

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();
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal