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 :

rechercher une chaîne de caractères dans une autre chaîne


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut rechercher une chaîne de caractères dans une autre chaîne
    Salut,

    Dans un des mes programmes,
    je souhaiterais tester si une chaine de caractère contient une autre chaine de caractère plus petite qui est donnée en paramètre (qqch comme : si chaine1 contient "azerty" alors x=1).
    Est ce que l'un d'entre vous aurait un exemple de code pour réaliser cela?
    Je voudrais notamment que cette analyse (de la chaîne de caractères) soit réalisée assez rapidement par le programme, car c'est pour traiter des fichiers d'environ 13 Mo.

    Merci à vous.

    RJ

  2. #2
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    il y a la fonction :
    strcspn( char *ChaineOrigine, char *ChaineAtrouver );

  3. #3
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 22
    Points : 43
    Points
    43
    Par défaut
    Salut !

    Il y a pour cela une fonction de la bibliothèque standard du C dont voici le prototype :

    char *strstr(const char *chaine_initiale, const char *chaine_recherchee);

    cette fonction retourne le pointeur sur un pointeur sur la sous-chaine si elle s'y trouve ou NULL dans le cas contraire.

    Un exemple serait :

    # define FALSE 0
    # define TRUE !FALSE
    .
    .
    int trouvee;
    char *chaine = "J'ai un clavier azerty connecté à mon PC";
    .
    .
    .
    if(strstr(chaine, "azerty") != NULL)
    trouvee = TRUE;
    else
    trouvee = FALSE;
    .
    .
    ça te conviens ?

    Pour mieux apprendre le C lire les tutoriels et cours C : http://c.developpez.com/cours/

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponses, debug et dsimon.
    J'ai utilisé la fonction strstr (qui correspondait le mieux pour mon problème) dans mon programme et cela fonctionne très bien.
    Bye.

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

Discussions similaires

  1. [Débutant] Recherche d'une chaîne de caractères dans une autre
    Par alexabcinformatique dans le forum VB.NET
    Réponses: 4
    Dernier message: 27/03/2012, 13h25
  2. recherche d'une chaîne de caractères dans une autre.
    Par silenteagle dans le forum Débuter
    Réponses: 34
    Dernier message: 13/10/2011, 12h48
  3. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  4. Rechercher une chaîne de caractère dans une série de fichier
    Par Edoxituz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/02/2006, 12h51
  5. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51

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