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 :

Problème de Token


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 318
    Points : 81
    Points
    81
    Par défaut Problème de Token
    Bonjour à tous,

    j'ai un fichier.txt qui contient:

    LAUZERE;350
    HERAULT;251
    NORD;248
    ARDENES;151

    et j'aimerais mettre dans le tableau departement les noms des departement et dans le tableau de voix le nombre de voix. En fait j'ai essayer de le faire avec le programme suivant mias malheureusement ça a pas marche:
    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
     
    #define SEP    ";"	
    char    dept[LMAX];
    int     voix[LMAX];
    while(!feof(m_File))
    	{
    	    // On récupere la ligne courante du fichier
    		fgets(ligne,100,m_File);
     
    	 token = strtok(ligne,SEP);
     
     
    		// On lit les éléments découpés un à un et on les stocke dans le tableau Tab
    		while(token != NULL)
    		{
     
    		           dept[i] = atoi(token);
                                          token = strtok(NULL,SEP);
     
                                           voix[i] = atoi(token);
                                           token = strtok(NULL,SEP);
                    			i++;
     
                           }
    	}
    quand j'affiche le tableau de dept je vois rien il est en effet vide, et quand j'affiche le tableau voix il m'affiche 0-350-0-251.

    Je vous prie de m'aider.

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,

    Ton programme ressemble plus à du C qu'à du C++. Es-tu bien sûr d'être dans la bonne rubrique? Fais-tu du C ou du C++?

    Plusieurs remarques sur ton code:
    1. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      token = strtok(ligne,SEP);
      Ce code te renvoie le token avant le ';'. Pour le premier passage, tu vas donc d'abord récupérer le nom du département, et ça n'a pas de sens de le convertir en nombre avec atoi().
    2. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      token = strtok(NULL,SEP);
      Avec ce code, tu cherches un token dans une chaîne de caractères qui est nulle (=vide). Je te conseille de jeter un oeil à la MSDN pour la fonction strtok().
    3. D'une manière plus générale, et dans le cas où c'est bien du C++ que tu fais, utilises le conteneur string de la STL et les outils qui y sont associés.
    Bon courage
    "L'ordinateur obéit à vos ordres, pas à vos intentions." [Anonyme]

Discussions similaires

  1. Problème de Token
    Par DotNET74 dans le forum Windows Phone
    Réponses: 4
    Dernier message: 13/06/2011, 11h27
  2. Réponses: 3
    Dernier message: 08/03/2011, 23h04
  3. Problème de 'token'
    Par 4Adjax dans le forum C++
    Réponses: 1
    Dernier message: 15/12/2009, 16h08
  4. Réponses: 1
    Dernier message: 21/03/2009, 16h04
  5. Problème de compilation (parse error before '*' token)
    Par moon93 dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 11/06/2006, 22h39

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