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 :

[Debutant]Transformer string en int


Sujet :

SL & STL C++

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 19
    Points : 22
    Points
    22
    Par défaut [Debutant]Transformer string en int
    Bonjour,
    Je voulais savoir comment tranformer un string en int.
    En gros l'équivalent de la commande java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Integer.parseInt("un entier");
    Merci

  2. #2
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    salut,
    je crois qu'il faut le faire à "la main" genre tu testes si chaque caractère correspond à 1 entier, tu récupères cet entier grace à son code ASCII et tu fais la somme et la multiplication par des multiples de 10 pour calculer la valeur finale...
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  3. #3
    Membre averti Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Points : 332
    Points
    332
    Par défaut
    tu as des fonctions faites pour ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int atoi(char * )
    char * itoa(int )
    je crois que ça ressemble à ça
    Pensez aux tutoriels programmation : http://programmation.developpez.com/cours-tutoriels/

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Oui c'est bien ca, Merci

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757

  6. #6
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Et itoa() n'a jamais été standard, ni disponible sur toutes les plateformes.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #7
    Membre régulier Avatar de Hypnos
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 87
    Points : 108
    Points
    108
    Par défaut
    les standard sont sscanf() et sprintf(), qui te permettent de lire une valeur d'un certain type et de le placer dans un autre type.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int a = 130;
    char c;
    sscanf(a, "%c", &c);
    printf("%c\n", c);
    devrait t'afficher le caractère 'é' normalement, si je ne me suis pas trompé.
    Errare humanum est ... sed humanus naturae erratum est.

  8. #8
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par Hypnos
    les standard sont sscanf() et sprintf(), qui te permettent de lire une valeur d'un certain type et de le placer dans un autre type.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int a = 130;
    char c;
    sscanf(a, "%c", &c);
    printf("%c\n", c);
    devrait t'afficher le caractère 'é' normalement, si je ne me suis pas trompé.
    o_O

    Hum. Mise à part l'erreur d'appel (type des arguments, ...) elle est un peu compliqué/inefficace cette alternative à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char c = static_cast<char>(a);
    Cette utilisation avec le %c ne correspond pas à la question de l'OP ("130" -> 130). D'autant que sscanf prend en entrée une chaine et non un nombre. Il faudrait utiliser %s, et faire attention à tous les problèmes potentiels à la noix de buffer overflow dont l'approche C++, de convertion nombre->chaine, nous protège.

    PS: toutes les consoles n'utilisent pas le même encodage => différences d'interprétation au delà de la plage ASCII (0-127). Voir les quelques sujet au sujets des accents qui ne passent pas sous les consoles type ms-dos qui tournent au CP850.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. [debutant]Transformation String to ASCII
    Par noname_971 dans le forum Java ME
    Réponses: 1
    Dernier message: 16/05/2008, 14h39
  2. [debutant] string to int
    Par harsh dans le forum Débuter
    Réponses: 16
    Dernier message: 01/07/2006, 13h24
  3. fonction transformation string->int
    Par Edta dans le forum Général Python
    Réponses: 3
    Dernier message: 11/04/2006, 13h03
  4. [debutant] transtypage string en int
    Par melvar dans le forum Langage
    Réponses: 3
    Dernier message: 08/03/2006, 16h08
  5. [DEBUTANT] Transformer une variable Double en STring
    Par Battosaiii dans le forum Langage
    Réponses: 6
    Dernier message: 13/06/2005, 16h43

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