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 :

std::string probl�me d'initialisation


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    209
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 209
    Par d�faut std::string probl�me d'initialisation
    Bonjour


    j'ai un probl�me avec std::string c'est un peu b�te mais je suis bloqu� puis la fac ne le traite pas voil�
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    )
    {
        std::string s("");
        //s="[TC"+msg.orig_addr()+" "+msg.hop_count()+" "+ msg.msg_seq_num()+" ";
        int count=msg.tc().count;
        for(int i=0 ; i<count;i++)
        {
     
           s+= msg.tc().nb_main_addr(i);  
            s+=" ";
     
        }
    mon erreur
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    error: variable ‘std::string s’ has initializer but incomplete type
    je voudrais savoir aussi s'il y a une m�thode de convertir vers string sans passer par ostream

    merci

  2. #2
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Ton message d'erreur ressemble � ce qu'on a quand on a oubli� d'inclure <string>...
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Citation Envoy� par JolyLoic Voir le message
    Ton message d'erreur ressemble � ce qu'on a quand on a oubli� d'inclure <string>...
    Moi confirme

    Citation Envoy� par yassinegoth
    je voudrais savoir aussi s'il y a une m�thode de convertir vers string sans passer par ostream
    Non. L'id�e est de passer par un std::ostringstream.

    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
     
    #include <sstream>
    #include <string>
     
    template <class _Type>
    std::string to_string(const _Type& v)
    {
        std::ostringstream stream;
        stream << v;
        return stream.str();
    }
     
    // "spécialisation"(*) pour std::string
    template <>
    std::string to_string<std::string>(const std::string& v)
    { return v; }
    (*) note : �a ressemble � une sp�cialisation, mais ce n'est pas une sp�cialisation. C'est une surcharge.
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    209
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 209
    Par d�faut
    vous aviez raison enfait
    pour la conversion j ai d�sign� la fonction to_string comme amie de ma classe

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    friend std::string to_string( const int & Value );
    je l ai inclu dans mon .cc comme suit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    std::string CMUTrace::to_string( const int & Value )
    {
        // utiliser un flux de sortie pour créer la chaîne
        std::ostringstream oss;
        // écrire la valeur dans le flux
        oss << Value;
        // renvoyer une string
        return oss.str();
    }
    et je l'ai appell� dans une de mes methodes :

    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
    else if (op->msg(i).msg_type() == OLSR_TC_MSG)
                            {
                                std::string s2;
                                s2 = "[TC %d %d %d ";
                                   int count=op->msg(i).tc().count;
                            for(int i=0 ; i<count;i++)
                                 {
     
                                s2.append(to_string(op->msg(i).tc().nb_main_addr(i)));
                                     s2+=" ";
     
                                    }
     
                                s2+="]";
                            }
    et enfin mon erreur :s
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    error: ‘string’ in namespace ‘std’ does not name a type
    aucune id�e!!!

    merci

  5. #5
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Salut,
    Citation Envoy� par yassinegoth Voir le message
    et enfin mon erreur :s
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    error: ‘string’ in namespace ‘std’ does not name a type
    aucune id�e!!!
    As-tu ajout� les include comme indiqu� par Lo�c et Emmanuel :
    fichier.cc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    #include <string>
    #include <sstream>

Discussions similaires

  1. Probl�me avec std::string
    Par Laughing Man dans le forum C++
    R�ponses: 18
    Dernier message: 07/02/2008, 19h04
  2. Probl�me Cast char* en std::string
    Par inovah dans le forum SL & STL
    R�ponses: 1
    Dernier message: 30/10/2007, 16h32
  3. Probl�me std::string et operator <<
    Par jomeo dans le forum SL & STL
    R�ponses: 2
    Dernier message: 21/02/2007, 11h36
  4. R�ponses: 1
    Dernier message: 20/02/2007, 17h17
  5. (Probl�me avec...) conversion de std::string en char
    Par crossbowman dans le forum SL & STL
    R�ponses: 7
    Dernier message: 05/03/2006, 19h54

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