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 :

Cast : chaine de caractere => entier


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut Cast : chaine de caractere => entier
    Bonjour à tous,

    voila je vous explique mon probleme : j'ai une chaine de caractère ("150:145:230...."). Je lirais ensuite la chaine dans un fichier une fois ce probleme de cast résolu.

    Je la casse avec "strtok" et un delimiteur (":"). Je veux faire renter chaque valeur (150,145,230...) dans un tableau d'entiers, pour manipuler ces nombres par la suite ...

    Je sais que le forçage n'est pas aussi simple qu'en Java (int = parse.Integer(string) ) et le int = (int) string ne fonctionne pas .

    en vous remerciant,

    voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    #include <string.h>
    #include <stdio.h>
     
    char string[] = "150:150:150:150";
    char *token;
    int i = 1,montant[4];
     
     main(void)
    {
             for(i=0;i<6;i++)
                  montant[i]=0;   
     
      i=1;          
     
      token = strtok(string,":"); 
     
     
     
     
     
         while (i<6)
     
            {
     
           printf("The token is : %s\n", token);
           token = strtok(string,":");
     
           montant[i]=(int)token ;
     
           i++;
     
            }
     
      puts("");
     
            for(i=1;i<6;i++)
               printf("montant %d : %d\n------------------\n",i,montant[i]);
     
     
     
     
       getchar();
     
     
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Par défaut
    bonjour
    regarde du coté de la fonction atoi()

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par untipy
    regarde du coté de la fonction atoi()
    Non... atoi() ne permet pas un traitement d'erreur correct. Il faut utiliser strtol().

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

Discussions similaires

  1. Conversion chaine de caractere en entier
    Par Adevelop dans le forum Fortran
    Réponses: 1
    Dernier message: 27/10/2010, 22h11
  2. Extraire une valeur entiere d'une chaine de caractere
    Par Aloneghost dans le forum Débuter
    Réponses: 2
    Dernier message: 25/04/2006, 12h23
  3. [VB]Convertir une chaine de caractere en entier
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/02/2006, 11h06
  4. Transfomer une Chaine de Caractere en Entier
    Par ThanosT dans le forum C
    Réponses: 14
    Dernier message: 05/10/2005, 19h56
  5. Controler une chaine de caracteres ou d'entiers?
    Par Le druide dans le forum C
    Réponses: 6
    Dernier message: 25/09/2003, 08h48

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