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 :

question sur ostringstream


Sujet :

SL & STL C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut question sur ostringstream
    Bonjour,
    je ne comprends pas un truc sur les ostringstream :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ostringstream oss("toto");
    en faisant oss.str(), on obtient "toto"

    Puis :
    on obtient oss.str() ==> "titi", c'est à dire qu'on a "écrasé" "toto" avec "titi"

    mais si l'on continue, en faisant :
    ben là, on obtient oss.str() ==> "tititata", c'est à dire qu'on n'a plus "écrasé" "titi" avec "tata", mais qu'on a bien concaténé.



    De même comment se fait-il que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	std::ostringstream name;
    	name << "temp" << m_cpt << ".wav";
    compile bien, alors que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name << "temp" << (++m_cpt < 10000) ? m_cpt : 1 << ".wav";
    ne compile pas :
    error C2297: '<<' : illegal, right operand has type 'char [5]'

  2. #2
    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
    1/ C'est normal, mais je ne saurais pas te dire pourquoi

    2/ Problème de priorité entre opérateurs. Entour ton expression d'une paire de parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name << "temp" << ((++m_cpt < 10000) ? m_cpt : 1) << ".wav";

  3. #3
    Membre expérimenté
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par défaut
    1/ Je crois que l'initialisation d'un stringstream par une chaine ne déplace pas le "pointeur" d'écriture du stream.

    il faut sûrement ajouter ios_base::ate par exemple (ou ::app aussi)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut
    1/ Ok, je vais regarder ça. Merci

    2/ . Merci

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

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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