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 :

découpage de formule / séparateurs


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 37
    Par défaut découpage de formule / séparateurs
    Bonjour je cherche une fontion de découpage de formule selon le separateur
    j'ai d'un formule par example x1.x2 +x3.x4
    je veux découper le formule comme
    x1.x2 +x3.x4
    x1.x2
    x3.x4
    x1
    x2
    x3
    x4
    mais quand je utilier separateur strtok,je peut just défini les 2 separateur comme une pointeur,donc je peux just séparer la formule comme
    x1.x2 +x3.x4
    x1
    x2
    x3
    x4
    comment je dois faire?
    J'attends vos réponses merci d'avance
    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
     
    void chainetodimacs(char *ch)
    {
    	char *ptr = strtok(ch, "+.");
     
    	do
    	{
    		printf("%s\n", ptr);
     
     
    	}
    	while(ptr = strtok(NULL,"+."));
     
    }
     
    int main(int argc, char **argv)
    {
    	int i = argc;
    	if(i>1)
    	{
    		chainetodimacs(argv[1]);
    	}
    	return 1;
    }

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Ne suffit il pas d'imbrique les appels à strtok ? Attention, on prendra soin d'utiliser strtok_r pour ne se mélanger les pinceaux :
    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
    #include <stdio.h>
    #include <string.h>
     
    void chainetodimacs(char *ch)
    {
       char *pc1, *pc2;
     
       char *ptr1 = strtok_r(ch, "+", &pc1);
     
       do{
          printf(". %s\n", ptr1);
          char  *ptr2 = strtok_r(ptr1, ".", &pc2);
          do{
             printf("+ %s\n", ptr2);
             ptr2 = strtok_r(NULL, ".", &pc2);   
          }while(ptr2);
       }   
       while(ptr1 = strtok_r(NULL,"+", &pc1));
    }
     
    int main(int argc, char **argv)
    {
       int i = argc;
       if(i>1)
       {
          chainetodimacs(argv[1]);
       }
       return 1; 
    }

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 37
    Par défaut
    merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/04/2015, 11h28
  2. Réponses: 0
    Dernier message: 11/01/2014, 12h16
  3. Découpage de chaine avec conservation des séparateurs
    Par vdelbart dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 26/10/2007, 16h50
  4. Séparateur décimal dans une formule
    Par Tonton Phil dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2007, 11h45
  5. séparateurs dans un fichier
    Par manuhard dans le forum Langage
    Réponses: 5
    Dernier message: 13/08/2002, 11h30

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