Maison > Article > développement back-end > Comment écrire correctement un std::string dans un fichier texte en C ?
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 :
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!