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 :

conversion int---->char


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5
    Par d�faut conversion int---->char
    salut!
    j'ai un int, ( par exemple 3), et je voudrais le transformer en char, afin de l'utiliser ds une fonction qui utilise des char.
    Comment faire?
    Je suis qd meme surpris de voir aussi peu de sites ou ce cas est represent� (pour ainsi dire aucun)
    Merci pour toute reponse :-)

    Philippe

  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
    Si tu veux parler d'une conversion en cha�ne (char*) alors voir la FAQ C++, sinon si c'est bien une conversion en char que tu veux, alors un simple static_cast suffit (les char sont des entiers, simplement plus petit que les int).

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par d�faut pas trop comprite...
    Pourquoi tu veux faire �a ??
    Si ta fonction utilise des char en tant que de "chiffre" style


    un cast suffit et encore si �a se trouve �a passe avec un simple warning ( a voir)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    int i = 10;
    char c = (char) i;
    mais attention un char c'est plus petit qu'un int :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    int grand = 65 530;
    char poua = (int) grand;
    c'est mort !!
    char = 1 octet
    int = plus de un !

    EDIT : Humm loulou il repond plus vite que moi

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5
    Par d�faut
    oui je veux faire un char. J'ai moi aussi a faire (char)a, mais ca ne marche pas manikfestement...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5
    Par d�faut
    en effet, si je fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    int main(int argc, char **argv){
     
      int a = 3;
     
      char b = (char)a;
      cout << "b: " << b << endl;
    }

    eh bien j'obtiens comme resultat:
    b:

    alors que je voudrais
    b: 3

  6. #6
    Membre chevronn� Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par d�faut
    Citation Envoy� par andurand
    oui je veux faire un char. J'ai moi aussi a faire (char)a, mais ca ne marche pas manikfestement...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5
    Par d�faut
    en effet, si je fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    int main(int argc, char **argv){
     
    int a = 3;
     
    char b = (char)a;
    cout << "b: " << b << endl;
    }

    eh bien j'obtiens comme resultat:
    b:

    alors que je voudrais
    b: 3

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5
    Par d�faut
    j'ai trouv� la reponse.

    pour convertir un int en char, faut pas oublier le '0' a la fin:

    int a= 3
    char b = char(a+'0');
    cout << "b: " << b << endl;

    ...

  9. #9
    Membre �prouv�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2004
    Messages
    68
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Par d�faut
    si j'ai bien compris ce que tu veux ceci devrait t'�tre utile:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    char int2char(int v)
    {
      char ret = '0';
      ret += (char)v;
      return ret;
    }
    ce code fonctionne � condition que v soit compris entre 0 et 9

  10. #10
    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
    eh bien j'obtiens comme resultat:
    b:
    Le caract�re 3 est non imprimable (voir la table ASCII), normal que tu ne voies rien.

    Tu veux en fait convertir 3 en '3' par exemple, c'est �a ? '0' + a marchera certainement, mais il para�t que ce n'est pas portable.

  11. #11
    Membre �prouv�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2004
    Messages
    68
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Par d�faut
    Citation Envoy� par Loulou24
    eh bien j'obtiens comme resultat:
    b:
    Le caract�re 3 est non imprimable (voir la table ASCII), normal que tu ne voies rien.

    Tu veux en fait convertir 3 en '3' par exemple, c'est �a ? '0' + a marchera certainement, mais il para�t que ce n'est pas portable.
    effectivement ce n'est pas vraiment portable comparaison ascii/ebcdic

    mais bon m�me en ebcdic les chiffres commencent par 0 et se suivent. En revanche une op�ration du genre
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    char c = 't';
    c = c - 'a' +'A';
    ne va peut �tre pas march�

Discussions similaires

  1. Conversion int en char
    Par Matthieu57b1 dans le forum D�buter
    R�ponses: 2
    Dernier message: 01/02/2010, 16h41
  2. Conversion int en char *
    Par Trunks dans le forum C
    R�ponses: 6
    Dernier message: 18/03/2006, 16h44
  3. R�ponses: 2
    Dernier message: 01/07/2004, 11h36
  4. "Conversion" d'un char en int ou longueur
    Par Micha�l dans le forum C
    R�ponses: 6
    Dernier message: 15/08/2003, 11h40

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