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

SL & STL C++ Discussion :

fstream , paramètre


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut fstream , paramètre


    j ai une fonction qui
    1. A) ouvre
    2. B) ecrit
    3. C) ferme

    un ofstream.

    J'aimerais qu'une deuxième fonction ecrive dans le stream entre le point C et D.

    qu'est-ce que je met en paramètre de la deuxième fonction ? un pointeur d'ofstream ???

    comment feriez-vous ?

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par ZaaN
    j ai une fonction qui
    1. A) ouvre
    2. B) ecrit
    3. C) ferme

    un ofstream.

    J'aimerais qu'une deuxième fonction ecrive dans le stream entre le point C et D.
    Quel est ce point D?

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par r0d
    Quel est ce point D?
    entre B et C je voulais dire

    ok, va pour la reference -> c'est bien juste un & devant le param ?

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    qu'est-ce que je met en paramètre de la deuxième fonction ? un pointeur d'ofstream ???
    Une référence sera plus adaptée. De toute façon tu ne peux pas le passer par copie.

  5. #5
    Membre éprouvé
    Inscrit en
    Mai 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par défaut
    oui pour le &

    cf FAQ:

    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
    // fonction qui échange i et j
    void swap(int& i, int& j)
    {
        int tmp = i;
        i = j;
        j = tmp;
    }
     
    int main()
    {
        int x = 1;
        int y = 2;
        swap( x, y );
        // x = 2, y = 1
    }

  6. #6
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    j aimerais que dans la phase B (ecriture) je puisse delegué l'ecriture de certains objects complexe dans une methode des object en question.

    Pour cela je doit leur donner le moyen d'ecrire dans le stream ( pour de question de performance je garde le stream ouvert entre les phase A->C)

  7. #7
    Membre éprouvé
    Inscrit en
    Mai 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par défaut
    Juste pour donner une autre alternative, pourquoi ne pas utiliser une ostringstream par exemple comme buffer dans lequel tu ecris tes differents elements et au retour de ta fonction tu récupèrs ce flux que tu peux renvoyer a d'autres methodes.... (attention a la taille du maximale du buffer)

    Et tu finis par ecrire a la toute fin sans passer de references.

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Juste pour donner une autre alternative, pourquoi ne pas utiliser une ostringstream par exemple comme buffer dans lequel tu ecris tes differents elements et au retour de ta fonction tu récupèrs ce flux que tu peux renvoyer a d'autres methodes.... (attention a la taille du maximale du buffer)
    De toute façon le paramètre sera de type std::ostream&, après on peut passer n'importe quel type dérivé (ostringstream, ofstream, ...).

    Et tu finis par ecrire a la toute fin sans passer de references.
    Impossible de passer des flux par autre chose que par référence, que ce soit en paramètre ou en retour de fonction.

  9. #9
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    ca marche bien avec la reference du ofstream, Je pense que passer par un buffer intermediaire reduirais mes perf..?

    en tout cas ca marche ainsi...

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

Discussions similaires

  1. Problème de fstream passé en paramètre
    Par Beb8 dans le forum SL & STL
    Réponses: 2
    Dernier message: 11/04/2005, 11h51
  2. [xmlrad] Pb de paramètre ?
    Par Pm dans le forum XMLRAD
    Réponses: 7
    Dernier message: 07/01/2003, 14h37
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 10h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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