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 :

Ajouter a une variable de type string, un entier


Sujet :

SL & STL C++

  1. #1
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut Ajouter a une variable de type string, un entier
    voila j'ai une variable de type string, et elle contient des caractéres, or je voudrai ajouter a la suite de ces caractères un chiffre en tant que caractère.

    ex:

    j'ai" toto "dans ma variable et je veux y ajouter le chiffre 5 pour que ca me donne " toto5"

    quelle est la fonction a utiliser pour ajouter ala suite mon chiffre? insert?

    merci d'avance
    freud

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut
    Fo utiliser la concaténation
    soit l exemple suivant
    string chaine1="problème";
    string chaine2="resolu";
    string chainefinale=chaine1+chaine2;

    Si le + marche pas essaye le .

  3. #3
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    http://c.developpez.com/faq/cpp/?pag...RINGS_numtostr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <sstream>
    #include <string>
     
    std::ostringstream oss;
    oss << "toto" << 5;
    std::string chaine = oss.str();

  4. #4
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    et si le "toto" est contenu deja dans une string? ca marche comment?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut
    Citation Envoyé par Little-Freud
    et si le "toto" est contenu deja dans une string? ca marche comment?
    Bah tu mets le nom de ta variable. Ou es le pb?

  6. #6
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    ben je dis ca car je ne connais aps du tt cette maniere de faire c tt....car la concaténation ne fonctionne pas pour mon cas et donc l'otre maniere me parait bizarre...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut
    Pq est ce que la concaténation marche pas?
    Bien entendu il te fo 2 string. Sinon tu peut faire un cast ou utiliser une fonction de conversion pr ton chiffe.

    La méthode de loulou24 oblige d'utiliser des bibliotheques. C juste que c des surcharges d'opérateurs. C du pseudo objet.

  8. #8
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    quand je compile j'ai cette erreur:
    'operator+' non implémenté dans le type string pour les arguments de type 'unsigned int'

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut
    fo que tu fasses un cast de ton int:
    essaye
    int entier=5;
    (string)entier;

    Ceci dit si l'autre méthode fonctionne tembete pas!

  10. #10
    Membre averti
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Par défaut
    j'ai ca mais ca decone :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     string StrTailleCle;
     
         // créer un flux de sortie
        std::ostringstream TaillCle;
     
    // écrire un nombre dans le flux
        TaillCle = tailleCle;   -> ca plante ici
     
        // récupérer une chaîne de caractères
        std::string StrTailleCle = TaillCle.str();

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Par défaut
    Ecoute un peu ce que te dis Loulou24 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    string StrTailleCle; (on suppose que tu as "toto" dedans)
     
    // créer un flux de sortie 
    std::ostringstream TaillCle; 
     
    // écrire un nombre dans le flux 
    TaillCle << tailleCle; (entier 5)
     
    // récupérer une chaîne de caractères 
    StrTailleCle += TaillCle.str();

  12. #12
    jmv
    jmv est déconnecté
    Membre chevronné Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par défaut
    Citation Envoyé par Little-Freud
    quand je compile j'ai cette erreur:
    'operator+' non implémenté dans le type string pour les arguments de type 'unsigned int'
    l'operateur string + int n'existe pas, par contre il existe un opérateur string + char
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string str("toto");
    int nb=5
    str = str + (char)('0'+nb);
    // ou
    str += (char)('0'+nb);
    sinon la méthode de loulou avec les ostringstream aura l'avantage de marcher avec des nombres de + d'un chiffre.

  13. #13
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Pour la concaténation de types variés, il vaut toujours mieux passer par les flux stringstream. Ainsi on s'assure que tout type d'objet, pour peu qu'on ait défini son opérateur d'injection (<<) pourra être concaténé, et ce de la même manière pour tout type. Les autres méthodes ne sont plus ou moins que du bidouillage je pense.

Discussions similaires

  1. Découper une variable de type string pour l'inserer a un commentaire
    Par Many31 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/01/2008, 13h32
  2. problème avec une variable de type string
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/06/2007, 14h53
  3. Réponses: 6
    Dernier message: 14/02/2007, 21h08
  4. Des " dans une variable de type String
    Par 4lkaline dans le forum Langage
    Réponses: 6
    Dernier message: 06/11/2006, 14h20
  5. convertir une variable de type String en Number
    Par lilbrother974 dans le forum Flash
    Réponses: 13
    Dernier message: 06/09/2006, 08h28

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