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 :

probleme de test


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 102
    Par défaut probleme de test
    bonjour a tous

    voici mon 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
    entree=fopen(file,"r");
    fgets(lecture,100,file); 
     
    while (!feof(entree))
     {
     
     
        delimiteur = ";" ; 
     
     
     
      i=0;
      decoupe[i] = strtok (lecture, delimiteur);
     
       while (delimiteur != NULL) 
      { 
         i++;
         decoupe[i]= strtok (NULL, delimiteur); 
      } 
     
    if (decoupe[1]=="P")
    printf("patiserie");
     
    }
    ce code fonctionne tres bien mais j'ai un probleme

    dans mon file j'ai 3 lignes donc decoupe[1] va prendre 3 valeurs differente
    jusque la aucun probleme

    mais moi j'aimerais tester la 1ere valeur et ainsi de suite ( avec mon if)

    alors que dans mon decoupe[1] je me retrouve avec "PCL"

    comment tester mon decoupe[1] ,?

  2. #2
    Membre chevronné Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Par défaut
    il manque beaucoup de trucs dans ton code (declaration de "decoupe" et de "delimiteur", un exemple de fichiers lu par ton prog, ...)
    ensuite regarde la description de la fonction strtok et tu verra surement ton erreur

  3. #3
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    SALU
    t as pas une explic plus claire, g rien compris de ce ke te veux dire ???


    Ma premiere idee est de faire une verification de la memoire ke t'a reserver

  4. #4
    Membre chevronné Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Par défaut
    c'est pour ca que je demandait la declaration de "decoupe"

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 102
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    char *decoupe[25];
     
    char *delimiteur;
     
    char lecture[100];

  6. #6
    Membre chevronné Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Par défaut
    donc si decoupe[1] contient "PCL" (ce qui parait normal mais comme on ne connait pas le fichier que tu lis on est oblige de te faire confiance) alors decoupe[1][0] contiendra 'P' (attention j'ai bien mis 'P' et pas "P")

    de plus strtok ne modifie pas le delimiteur (const char *) donc ta boucle while interieure est infinie

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par acik59
    voici mon code <...>
    ce code fonctionne tres bien mais j'ai un probleme

    dans mon file j'ai 3 lignes donc decoupe[1] va prendre 3 valeurs differente
    jusque la aucun probleme

    mais moi j'aimerais tester la 1ere valeur et ainsi de suite ( avec mon if)

    alors que dans mon decoupe[1] je me retrouve avec "PCL"

    comment tester mon decoupe[1] ,?
    C'est pas très clair, ça ne compile pas et on a pas de fichier de test...

    En rendant ton code compilable, présentable et exécutable :
    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
     
    #include <stdio.h>
    #include <string.h>
     
    #define file "test.txt"
     
    int main (void)
    {
       FILE *entree = fopen (file, "r");
       if (entree != NULL)
       {
          char lecture[100];
          if (fgets (lecture, sizeof lecture, entree) != NULL)
          {
             char const *delimiteur = ";";
             size_t i = 0;
             char *decoupe[10] = {0};
     
             decoupe[i] = strtok (lecture, delimiteur);
             while (i < (sizeof decoupe / sizeof *decoupe) - 1
                    && delimiteur != NULL)
             {
                i++;
                decoupe[i] = strtok (NULL, delimiteur);
             }
             if (decoupe[1] != NULL && strcmp (decoupe[1], "P") == 0)
             {
                printf ("patiserie\n");
             }
          }
          fclose (entree), entree = NULL;
       }
       else
       {
          perror (file);
       }
       return 0;
    }
    et avec test.txt :
    on obtient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    patiserie
     
    Press ENTER to continue.
    Alors c'est quoi la question ?

Discussions similaires

  1. [langage] probleme sur test d'une variable
    Par Melvine dans le forum Langage
    Réponses: 11
    Dernier message: 25/10/2006, 19h31
  2. Probleme de test de profondeur
    Par jcloupgarou dans le forum OpenGL
    Réponses: 3
    Dernier message: 10/07/2006, 11h52
  3. probleme de test d'enregistrement
    Par stomerfull dans le forum Langage
    Réponses: 1
    Dernier message: 28/06/2006, 16h05
  4. probleme de teste sur recordset
    Par julio_097 dans le forum ASP
    Réponses: 3
    Dernier message: 18/07/2005, 11h02
  5. Probleme de test dans un boucle
    Par PrinceMaster77 dans le forum ASP
    Réponses: 14
    Dernier message: 15/06/2004, 12h32

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