Maison > développement back-end > C++ > Comment lire tous les octets d'un fichier dans un tableau de caractères à l'aide de ifstream::read() ?

Comment lire tous les octets d'un fichier dans un tableau de caractères à l'aide de ifstream::read() ?

Susan Sarandon
Libérer: 2024-11-02 14:32:30
original
494 Les gens l'ont consulté

How to Read All Bytes of a File into a Char Array Using ifstream::read()?

Lecture de tous les octets d'un fichier dans un tableau de caractères

Étant donné un chemin de fichier stocké dans la chaîne inputFile et un tampon de tableau de caractères avec un taille prédéfinie, cette question explore comment lire les octets du fichier dans le tampon.

L'approche préférée pour la lecture générale de fichiers consiste à utiliser std::vector et std :: istreambuf_iterator. Cependant, il existe des scénarios dans lesquels la lecture des octets sous forme de flux est nécessaire.

ifstream::read() pour l'accès aux octets

Pour capturer le fichier sous forme de flux d'octets, ifstream::read() est utilisé :

<code class="cpp">// Open file
std::ifstream infile(inputFile);
infile.seekg(0, std::ios::end);
size_t length = infile.tellg();
infile.seekg(0, std::ios::beg);

// Read file
infile.read(buffer, length);</code>
Copier après la connexion

Comprendre Seekg() et Tellg()

seekg() et tellg() sont utilisés pour déterminer le taille du fichier. Cependant, il est important de noter que tellg() ne garantit pas la taille exacte du fichier dans toutes les situations.

Considérations pour le mode binaire

Lors de l'ouverture du fichier, considérez activer le mode binaire à l'aide de std::ios_base::binary pour empêcher les conversions de caractères susceptibles d'avoir un impact sur le nombre d'octets.

Gestion des lectures tamponnées

Si plusieurs lectures tamponnées sont utilisées, il est crucial de suivre le nombre de caractères lus à l'aide de std::ifstream::gcount().

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