Maison > développement back-end > C++ > Comment puis-je écrire correctement des chaînes dans des fichiers en C ?

Comment puis-je écrire correctement des chaînes dans des fichiers en C ?

DDD
Libérer: 2024-11-26 15:27:10
original
687 Les gens l'ont consulté

How Can I Correctly Write Strings to Files in C  ?

Écrire des chaînes dans des fichiers en C

Lors de la gestion des entrées utilisateur sous forme de chaînes, il est courant de vouloir les écrire dans un fichier pour les stocker. Cependant, tenter de le faire en utilisant la méthode write() d'un ofstream peut conduire à des résultats inattendus.

std::string et écriture de fichiers

Il est important de comprendre que std::string est une structure de données complexe qui stocke à la fois la valeur de la chaîne et sa longueur en interne. Lorsque vous utilisez write() avec std::string, il écrit en fait cette représentation interne dans le fichier. Il est peu probable que ces données binaires s'affichent correctement sous forme de texte lorsque le fichier est ouvert.

Utilisation d'un ofstream pour les fichiers texte

Pour écrire du texte brut dans des fichiers, l'approche recommandée consiste à utiliser un objet ofstream , qui agit comme un std::cout pour écrire dans des fichiers. L'exemple de code suivant illustre cette approche :

#include <fstream>
#include <iostream>

int main() {
    std::string studentName;
    std::cout << "Enter your name: ";
    std::cin >> studentName;

    std::ofstream outFile("output.txt");
    outFile << studentName;
    outFile.close();

    return 0;
}
Copier après la connexion

Écriture de données binaires dans des fichiers

Si vous devez écrire la représentation binaire réelle de la chaîne, plutôt que sa valeur en texte brut, vous pouvez utiliser string::c_str() pour récupérer un pointeur vers les données brutes et leur longueur pour write(). L'extrait suivant le démontre :

write.write(studentPassword.c_str(), studentPassword.size());
Copier après la connexion

En utilisant ces techniques, vous pouvez écrire efficacement à la fois des chaînes de texte en clair et des données binaires dans des fichiers, en fonction de vos besoins spécifiques.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal