Maison  >  Article  >  développement back-end  >  Comment écrire correctement un std::string dans un fichier texte en C ?

Comment écrire correctement un std::string dans un fichier texte en C ?

DDD
DDDoriginal
2024-11-26 01:43:10850parcourir

How to Properly Write a std::string to a Text File in C  ?

Comment écrire dans un fichier texte à l'aide de std::string

Lorsque vous essayez d'écrire un std::string dans un fichier, vous pouvez rencontrer une situation où les caractères apparaissent sous forme de cases plutôt que sous forme de texte prévu. En effet, la méthode write() stocke les données binaires dans l'objet chaîne, y compris un pointeur et la longueur des données.

Cependant, l'écriture dans un fichier texte nécessite une approche différente. La méthode recommandée consiste à utiliser un ofstream (out-file-stream), qui se comporte de la même manière que std::cout mais dirige la sortie vers un fichier.

Pour écrire dans un fichier texte à l'aide de std::string, vous pouvez suivre ces étapes :

  1. Ouvrez un objet ofstream pour représenter le fichier souhaité.
  2. Utilisez le bouton << opérateur (comme vous le feriez avec std::cout) pour écrire la chaîne std::string dans le flux ofstream.
  3. Fermez le flux ofstream pour écrire les modifications sur le disque.

Un exemple de code extrait :

#include <fstream>
#include <string>

int main()
{
    std::string input;
    std::cin >> input;
    std::ofstream out("output.txt");
    out << input;
    out.close();
    return 0;
}<p><strong>Remarque :</strong> L'appel out.close() n'est pas strictement nécessaire, car ofstream le destructeur gérera automatiquement cela lorsque out sera hors de portée.</p>
<p>Si vous devez écrire dans un fichier sous forme binaire, utilisez la méthode c_str() de std::string pour obtenir les données réelles :</p>
<pre class="brush:php;toolbar:false">write.write(studentPassword.c_str(), studentPassword.size());

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