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 :

Caster une chaine afin d'en récupérer des int


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 46
    Par défaut Caster une chaine afin d'en récupérer des int
    bonjour à tous ;

    Je souhaiterai savoir comment je peux casté une chaine de caractère afin d'en obtenir des int . Je m'explique

    j'ai une chaine[20]="0100000000"
    faire un test sur chaine[1] mais avec un indice de test en int

    typiquement si chaine de 1 est == 0 .......
    si chaine de 1 est == 1 .......
    si chaine de 1 est == 2 .......

    voilà merci pour vos réponses

    nb: sachant que dans l'exemple donné chaine[1]="1";

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu dois utiliser la fonction standard strtol().

    Sinon, pour juste un caractère, tu peux lui soustraire '0' :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char const *uneChaîne = "123";
    char secondChar = uneChaine[1]; /* = '2' */
    int valeur = secondChar - '0';  /* = 2   */
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par Info_76 Voir le message
    Je souhaiterai savoir comment je peux casté une chaine de caractère afin d'en obtenir des int . Je m'explique

    j'ai une chaine[20]="0100000000"
    faire un test sur chaine[1] mais avec un indice de test en int

    typiquement si chaine de 1 est == 0 .......
    si chaine de 1 est == 1 .......
    si chaine de 1 est == 2 .......
    Si j'ai bien compris, tu cherches à tester la valeur de chaine[1], c'est à dire du deuxième caractère de la chaîne. C'est bien ça ?

    Si c'est bien le cas, chaine[1] n'est pas une chaîne de caractère mais un unique caractère. Il suffit de tester avec l'opérateur ==, c'est à dire

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/04/2009, 18h28
  2. Réponses: 3
    Dernier message: 01/08/2008, 09h58
  3. Créer une chaine de taille variable avec des blancs
    Par jojodu31 dans le forum Général Java
    Réponses: 5
    Dernier message: 15/04/2008, 17h38
  4. Réponses: 11
    Dernier message: 08/06/2007, 20h19
  5. Réponses: 10
    Dernier message: 11/01/2007, 08h54

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