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 :

convertir int to char


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut convertir int to char
    bonjour a tous.
    coment je peux convertir un int en un char ou char*.
    je programme en c++ sous unix.
    Par exemple:
    l'entier 123 je veux le convertir a la chaine de caractères '123'.
    J'ai essayé la fonction itoa de stdlib mais ça marche pas.


    J'attends votre aide.


  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Par défaut
    hello,

    tu peux tenter ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        int toto= 123;    
        char buf[3];    
        sprintf(buf,"%d",toto);

  3. #3
    Membre éclairé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    Avril 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : Avril 2008
    Messages : 190
    Par défaut
    Salut à tous

    Citation Envoyé par loicounet Voir le message
    tu peux tenter ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int toto= 123;    
    char buf[3];    
    sprintf(buf,"%d",toto);
    Ceci pour une version purement C. Pour une version C++, tu peux utiliser un flux de chaîne de caractères :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <sstream>
    #include <string>
     
    // ...
     
    int toto = 123;
    std::ostringstream ost;
    ost << toto;
    const std::string chaine = ost.str();
    À bientôt.

    Le Farfadet Spatial

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

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    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 288
    Billets dans le blog
    2

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    J'ai esssayé avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int toto = 123;
    std::ostringstream ost;
    ost << toto;
    const std::string chaine = ost.str();
    mais je me retrouve dans le problème de conversion de const std::string to char*.

    Merci de me repondre je vous attends.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    plutôt quand j'ai voulu afficher le resultat avec printf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int toto = 123;
    std::ostringstream ost;
    ost << toto;
    const std::string chaine = ost.str();
    printf("dd=%s hh\n",&chaine);
    je me retrouve avec le resultat suivant:
    dd=,
    hh
    je comprend pas que dois je faire?

  7. #7
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Salut, il ne faut pas utiliser &chaine mais chaine.c_str().

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

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    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 288
    Billets dans le blog
    2

  9. #9
    Membre éclairé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    Avril 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : Avril 2008
    Messages : 190
    Par défaut
    Salut à tous !

    Citation Envoyé par coyotte507 Voir le message
    Salut, il ne faut pas utiliser &chaine mais chaine.c_str().
    Tu as parfaitement raison, mais pour une approche encore plus C++, il ne faut pas utiliser printf mais cout. Que donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <sstream>
    #include <string>
    #include <iostream>
     
    int main (int argc, char **argv) {
      int toto = 123;
      std::ostringstream ost;
      ost << toto;
      const std::string chaine = ost.str();
      std::cout << chaine << std::endl;
     
      return 0;
    }
    Ce qui peut être fait en un peu plus court ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <sstream>
    #include <string>
    #include <iostream>
     
    int main (int argc, char **argv) {
      int toto = 123;
      std::ostringstream ost;
      ost << toto;
      std::cout << ost.str() << std::endl;
     
      return 0;
    }
    Sinon, pour une approche plus Developpez.com, il est bien de consulter la FAQ avant de poster...

    Ah ! Également, « j'attends vos réponses » fait un peu mise en demeure, ça peu vite crisper.

    À bientôt.

    Le Farfadet Spatial

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    Merci a vous tous.
    c'est fait. le programme me donne maintenant de bon resultats.


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

Discussions similaires

  1. Convertir int en char, et vice vers ça
    Par Freeluvs dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 18/03/2010, 11h49
  2. convertir int en char
    Par pkpk94 dans le forum Débuter
    Réponses: 5
    Dernier message: 04/03/2010, 10h49
  3. convertir int en Object et int en char
    Par djanos dans le forum Langage
    Réponses: 5
    Dernier message: 24/02/2007, 18h58
  4. Convertir un int en char
    Par heruwenli dans le forum C++
    Réponses: 3
    Dernier message: 06/02/2007, 13h41
  5. [SQL] Convertir un champ INT en CHAR dans un SELECT ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/03/2005, 14h45

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