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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-12-15 14:56:23702parcourir

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

Écrire std::string dans un fichier

Lors de l'écriture d'une variable std::string dans un fichier, il est important de comprendre que le La méthode write() écrit des données binaires, qui peuvent ne pas être directement lisibles sous forme de texte. Cela peut entraîner l'apparition de cases dans le fichier lors de son ouverture.

Structure de données appropriée

Pour écrire des chaînes d'un seul mot dans un fichier texte, std::string convient . Des tableaux de caractères peuvent également être utilisés, mais std::string offre plus de flexibilité et de commodité.

Écrire dans un fichier texte

Le code suivant montre comment écrire un fichier std ::chaîne dans un fichier texte à l'aide d'un ofstream :

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
  string studentName;
  ofstream write;

  write.open("student.txt", ios::out);
  if (!write.is_open()) {
    cerr << "Error opening file" << endl;
    return 1;
  }

  cout << "Enter student name: ";
  getline(cin, studentName);

  write << studentName << endl;  // Write the string to the file

  write.close();

  return 0;
}

Écriture binaire Données

Si vous devez écrire le std::string sous forme binaire, utilisez la méthode string::c_str() pour obtenir les données brutes, puis écrivez-les dans le fichier :

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