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 :

prb ragant: string to int[]


Sujet :

C++

Vue hybride

biftek prb ragant: string to int[] 18/01/2007, 15h12
Sylvain Togni Ton code est trop confus,... 18/01/2007, 16h04
biftek c ce k'il y avé a la place de... 18/01/2007, 16h13
Invité biftek, je n'ai pas tout... 18/01/2007, 16h16
biftek dsl, je ferai en sorte de... 18/01/2007, 16h21
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut prb ragant: string to int[]
    bonjour, je me fais un petit programme et j'ai eu besoin de transformer un
    std::string avec plusieur valeur int en un tableau d'int
    le programme se compile, s'executer, et plante a un endroit ou ca n'a pa de sense.
    si quelqu'un a une idéé j'ecoute
    voici le code
    merci



    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
     
    #include <cstdlib>
    #include <iostream>
    #include <sstream>
    #include <stdlib.h>
    #include <string>
    #include <fstream>
    #include <math.h>
     
    //#include <pr/linked_list.h>
     
    using namespace std;
    int main()
    { string df="23,34,2,5";
      string tm;
      int ln, x, x2, lc=0, c=0, d=0, dd=0;
      ln=df.length();
      for(x=0;x!=ln;x++)
                        {if (df.find(",",x)==x)  //si a la possision x y'a une ","
                        lc++;
                        };
     
    int *tab=new int[lc];  //tableau pour les valeur recuperer
    cout<<"ca passe 1\n";
     
    for(x=0;x!=ln;x++)
                      {
                       cout<<"ca passe 2\n";
                       if (df.find(",",x)==x)  //si a la possition x il y'a ","
                           { for(x2=x-c;x2!=x;x2++){tm[d]=df[x2]; //copie de la derniere "," a la suivante
    			                                   	d++;};   
                           c=0;
                           tab[dd] = x;  //je simplifie pour ecarter une erreur possible de sstream
                           dd++;
                           tm.clear();
                           }
                       else{          //si y'a pa de "," il y a au moin 1chiffre de plus
    	                    c++;}   //c: compteur du nombre de chiffre
                         };
     
    cout<<"k\n";  //il y avé une boucle for pour afficher tab, ca n'afficher que un 0 et plantage
    return 0;
    };

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Ton code est trop confus, essaye de le simplifier :
    - utilise un std::istringstream pour parser la chaine
    - utilise l'opérateur >> pour lire les entiers
    - utilise l'opérateur >> vers un char pour lire les séparateurs
    - utilise un std::vector<int> pour stocker les entiers

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    c ce k'il y avé a la place de

    c=0;
    tab[dd] = x; //je simplifie pour ecarter une erreur possible de sstream
    dd++;

    mais l'erreur ne vien pa de la.
    le code s'exectue jusqu'a la fin, et une erreur apparait
    enfin, celle de windows : erreur journal en cour de creation
    alors qu'il ne le créé meme pas.
    j'ai essayer de faire de debugage mais ca ne m'avance a rien
    je vé essayer de reecrire le code source pour demain
    pour eclaircir l'operation

    la parti qui remplacer avant tab[dd] = x;
    etait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    istringstream istr( tm );
    istr >> tab[dd]; 
    tab[dd]=strtol(tm);

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par biftek
    c ce k'il y avé a la place de

    c=0;
    tab[dd] = x; //je simplifie pour ecarter une erreur possible de sstream
    dd++;

    mais l'erreur ne vien pa de la.
    le code s'exectue jusqu'a la fin, et une erreur apparait
    enfin, celle de windows : erreur journal en cour de creation
    alors qu'il ne le créé meme pas.
    j'ai essayer de faire de debugage mais ca ne m'avance a rien
    je essayer de reecrire le code source pour demain
    pour eclaircir l'operation
    biftek, je n'ai pas tout cité, mais essaye d'écrire un peu plus français stp, ca améliorera la lisibilité sur ce thread.
    merci

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    dsl, je ferai en sorte de m'apliqué pour demain.
    bonne soiré a tous (qui son sur notre continent)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par biftek
    dsl, je ferai en sorte de m'apliqué pour demain.
    bonne soiré a tous (qui son sur notre continent)
    je pense que tu peux t'y atteler dès aujourd'hui !!! lol

    ps: pourquoi tu dis pas bonsoir aux autres (qui sont pas sur "notre continent") ??

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

Discussions similaires

  1. [Debutant]Transformer string en int
    Par htaou dans le forum SL & STL
    Réponses: 7
    Dernier message: 09/09/2005, 21h28
  2. [Débutant] Conversion d'un String en Int
    Par chleuh dans le forum Langage
    Réponses: 9
    Dernier message: 30/12/2004, 13h33
  3. [débutant] String ou int
    Par pingoui dans le forum Langage
    Réponses: 42
    Dernier message: 16/09/2004, 09h16
  4. Réponses: 2
    Dernier message: 21/06/2004, 15h55
  5. [FLASH MX 2004] conversion string en int.
    Par calfater dans le forum Flash
    Réponses: 3
    Dernier message: 26/05/2004, 15h00

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