IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Ouverture écriture fichier en C++


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Par défaut Ouverture écriture fichier en C++
    Bonjour à tous!

    Dans le cadre de la création d'un RPG 2D en SDL et en C++
    en m'aidant d'un tuto trouvé sur le web et intitulé : Réaliser un RPG en C avec SDL et FMOD/Les cartes
    je souhaite sauvegarder ma map ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       memset(&buffer,0,sizeof(buffer));
         strcpy(buffer,bg_sound);
         fwrite(&buffer,255,sizeof(char),f)
    Ce code étant du C, j'ai entendu parler de stream en C++ mais je ne comprends pas comment utilisé.
    Merci de vos futurs réponses
    cordialement maxime.

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    tu as une explication sur les flux en C++ ici, http://cpp.developpez.com/cours/cpp/...ge_18#LXVIII-F

    et tu as la faq -> http://cpp.developpez.com/faq/cpp/?page=fichiers

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Par défaut
    j'ai lu le tuto mais .. quel est l'équivalent du fwrite en c pour le c++ ?

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    bah comme l'indique le tuto si on suppose que le fichier est "f" et que ce que tu veux y inscrire est "buffer" alors tu obtiens


  5. #5
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Comme le conseille hiko-seijuro, il faut inclure l'en-tête <fstream> et utiliser les classes ifstream (Input File Stream) et ofstream (Output File Stream). Tu as toute une section de la FAQ dédiée.

    En ce qui concerne la 2D et la SDL, nous avons déjà beaucoup de ressources sur developpez. Tu risques de retrouver des codes similaires

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Par défaut
    Merci je commence a comprendre un peu mieux le tuto

    mais je comprends tjr pas pourquoi mon code est faux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ofstream f(char* filename,ios::out );

  7. #7
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Fais-nous voir la version C++ de ton code.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    #include <fstream>
    using namespace std;
     
    void sprites::SauvegarderSprites(char* charset,char* filename )
    {
        unsigned int i, anim, frm;
         char buffer[256];
     
     
        ofstream f(char* filename,ios::out );//ouvre le fichier
         if(!f) return;
     
         //sauvegarde de chacun des membres
     
    f << nb_sprites;
     
      for(i=0;i<this->nb_sprites;i++)
         {
            f << tableausprites[i].x
     
     
    }
    erreur:
    struct std::ios::out' is not a type
    invalid operands of types `std::ofstream ()(char*, int)' and `int' to binary `operator<<'|

  9. #9
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    euh moi je remplacerai ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ofstream f(char* filename,ios::out );//ouvre le fichier
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ofstream f(filename);//ouvre le fichier

  10. #10
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    En effet, il faut mettre le nom du fichier et non pas le prototype. De plus, pour un std::ofstream, le ios::out est implicite.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 15/01/2010, 16h03
  2. Problème d'ouverture de fichier en écriture
    Par David78180 dans le forum C
    Réponses: 8
    Dernier message: 08/11/2008, 12h13
  3. Ouverture/écriture fichier Excel
    Par mathieu04 dans le forum Windows
    Réponses: 17
    Dernier message: 07/06/2004, 11h23
  4. Réponses: 2
    Dernier message: 26/02/2003, 15h18
  5. [VBA-E] Evenement ouverture de fichier
    Par gjeff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/12/2002, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo