Maison  >  Article  >  développement back-end  >  Comment lire efficacement le contenu entier d’un fichier dans une chaîne en C ?

Comment lire efficacement le contenu entier d’un fichier dans une chaîne en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 15:14:02587parcourir

How to Efficiently Read Entire File Contents into a String in C  ?

Consolidation du contenu d'un fichier dans une chaîne en C : un guide complet

Lecture du contenu d'un fichier dans une chaîne dans des langages de script comme Perl est une question de simplicité. Cependant, y parvenir en C nécessite une approche plus efficace. Explorons la méthode la plus efficace pour accomplir cette tâche.

Comme ceci :

<code class="cpp">#include <fstream>
#include <string>

int main(int argc, char** argv)
{
  std::ifstream ifs("myfile.txt");
  std::string content( (std::istreambuf_iterator<char>(ifs) ),
                       (std::istreambuf_iterator<char>()    ) );

  return 0;
}</code>

L'énoncé clé de ce code est :

<code class="cpp">std::string content( (std::istreambuf_iterator<char>(ifs) ),
                       (std::istreambuf_iterator<char>()    ) );</code>

Décomposer :

<code class="cpp">std::string content;
content.assign( (std::istreambuf_iterator<char>(ifs) ),
                (std::istreambuf_iterator<char>()    ) );</code>

Au lieu d'utiliser l'opérateur d'affectation simple (content =), la méthode d'affectation est utilisée ici. Cette technique est particulièrement utile lors de la mise à jour du contenu d'une variable std::string existante.

En suivant ces étapes, vous pouvez lire efficacement l'intégralité du contenu d'un fichier dans une std::string en C . Cette approche consolidée simplifie les opérations impliquant la gestion des fichiers, permettant une manipulation complète des données qui y sont stockées.

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