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 :

caractère générique utilisable dans strcmp


Sujet :

C

  1. #1
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut caractère générique utilisable dans strcmp
    Bonjour,

    Je voudrais savoir s'il existe un caractère générique utilisable dans strcmp. Ce que je veux dire c'est que je voudrais savoir si ma chaine est:

    "chaine0", "chaine1", "chaine2", "chaine3", "chaine4", "chaine5", "chaine6", "chaine7", "chaine8" ou "chaine9".

    Je voudrais donc un truc qui ressemble à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(!strcmp(maChaine, "chaine%"))
    {
      //alors ma chaine est du type que je veux
    }
    ainsi les chaines comme "chaine19" seraient refusées.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Pas avec strcmp. Regarde du côté des expressions régulières.

  3. #3
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut expressions régulières
    Citation Envoyé par HW
    Pas avec strcmp. Regarde du côté des expressions régulières.
    Euh??? c'est quoi?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    www.google.fr

  5. #5
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut finalement...
    Bon laisse tomber, si c'est pour me taper les expressions régulières alors que tout ce que je veux c'est éviter de dupliquer un bout de code, je ne pense pas que cela en vaille la peine.

    Ce que je fais, c'est que je commence par tester avec strncmp les premiers caractères, puis je compare la taille des deux chaines de carctères, et enfin je teste le dernier caractère. Cela a le même comportement, mais bon je me disais qu'il aurait pu exister un carctère générique. Tant pis.

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Un truc générique, c'est le expressions régulière.
    http://www.pcre.org/
    tu test si la chaine correspond à l'expression régulière "chaine[0-9]" et voilà ...

  7. #7
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut
    Citation Envoyé par HW
    tu test si la chaine correspond à l'expression régulière "chaine[0-9]" et voilà ...
    Je suis d'accord avec cela, mais c'est un peu ce que je fais non? Ou alors est-il possible de créeer une expression régulière en C et de comparer par une fonction quelconque une xhanie de caractères à cette expression? Si oui comment?

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    C'est le principes des exp reg.
    Pour tester si une chaine est identifiée par une ER, faut une lib quifait ca ... en C j'en connais pas. J'ai cherché 2 sec et trouvé le lien donné.
    2 possibilités :
    - tu veux un truc simple et pas te prendre la tête : tu te passes des ER et tu bidouille avec strcmp
    - tu veux découvrir les ER / pouvoir faire d'autres comparaisons de ce style : tu apprends à t'en servir. (trouve une lib).

  9. #9
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut résolu
    OK merci.

    Etant donné l'utilisation que j'en fais je resterai alors au niveau de la bidouille.

    Merci beaucoup.

  10. #10
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut
    Si comme dans ton exemple la partie commune des chaines se situe au debut des mots tu peux utilise strncmp ou memcmp qui prennent en parametre une taille (que tu fixe a la longueur de la partie commune)

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

Discussions similaires

  1. [BO XI]Caractère générique dans un query filter
    Par akela13th dans le forum Webi
    Réponses: 3
    Dernier message: 25/04/2017, 11h56
  2. Variable utilisée dans une chaine de caractères
    Par cchampion2fr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/10/2008, 13h46
  3. caractère générique dans requête
    Par big1 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 18/06/2007, 10h23
  4. Non-utilisation d'un caractère générique
    Par ehrhart.jy dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2006, 11h02
  5. Impossible d'utiliser & dans une chaîne de caractère
    Par gingman dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/03/2006, 20h35

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