Maison > développement back-end > C++ > Comment déterminer la taille d'un fichier en C sans bibliothèques externes ?

Comment déterminer la taille d'un fichier en C sans bibliothèques externes ?

Mary-Kate Olsen
Libérer: 2024-11-12 21:20:02
original
381 Les gens l'ont consulté

How to Determine File Size in C   Without External Libraries?

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

Comment puis-je obtenir la taille d'un fichier en C tout en conservant la portabilité, la fiabilité et la simplicité, sans entraîner des dépendances de bibliothèque ?

Solution :

La méthode la plus courante et la plus fiable pour déterminer la taille d'un fichier en C consiste à utiliser la classe std::ifstream. Voici comment vous pouvez l'implémenter :

#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

Dans ce code :

  • std::ifstream(filename, std::ifstream::ate | std::ifstream:: binaire) ouvre le fichier spécifié en lecture.
  • std::ifstream::ate positionne le pointeur de fichier à la fin du fichier.
  • std::ifstream::binary garantit que le fichier est lire en mode binaire.
  • in.tellg() récupère la position actuelle du pointeur de fichier, qui représente la taille du fichier.

Remarque :
Il est important de noter que cette solution utilise tellg(), qui ne renvoie pas toujours la bonne taille de fichier sur certains systèmes. Reportez-vous à cette discussion pour plus d'informations : http://stackoverflow.com/a/22986486/1835769.

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