Enregistrer un type string dans un fichier

jeromenaze Messages postés 7 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 16 septembre 2010 - 16 sept. 2010 à 17:41
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 16 sept. 2010 à 21:55
Bonjour,
J'ai un problème j'ai rechercher un peut partout mais je suis débutant en programmation donc j'aimerai des explication.
Voila je veut enregistrer un type string dans un fichier mais je ne peut pas le lire :

void save()
...
FILE *f;
f = fopen("fichier.pers","w");
string nom;
cin>>nom;

fwrite(&nom,sizeof(string),1,f);
fclose(f);
...

void load()
...
FILE *f;
f = fopen("fichier.pers","r");
string nom;
fread(&nom,sizeof(string),1,f);
fclose(f);
cout<<nom<<endl;




Mais il n'y a rien qui s'affiche.Si quelqu'un c'est comment faire?
Jérôme

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
16 sept. 2010 à 18:43
Si tu fais du C++, oublie le fopen...

C'est très simple:
#include <fstream>
#include 

int main()
{
  // Ecriture
  {
    std::ofstream file("fichier.pers");
    std::string nom;
    std::cin >> nom;
    file << nom;
    file.close();
  }

  // Lecture
  {
    std::ifstream file("fichier.pers");
    std::string nom;
    file >> nom;
    std::cout << nom << std::endl;
    file.close();
  }
  return 0;
}


PS: Evite les using namespace std, voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace

________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
jeromenaze Messages postés 7 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 16 septembre 2010
16 sept. 2010 à 21:48
Merci bcp pour cette réponse.
Et écrire en mode binaire en c++ il faut procéder comment?

Merci
cordialement.

Jérôme
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
16 sept. 2010 à 21:55
Tu utilises un flag std::ios::binary, regarde la doc.
http://www.cplusplus.com/reference/iostream/fstream/

Précisement:
http://www.cplusplus.com/reference/iostream/fstream/fstream/

________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
Rejoignez-nous