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 :

chercher une sous chaine dans une chaine de caractere


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut chercher une sous chaine dans une chaine de caractere
    Bonjour,

    Je voudrais écrire un programme qui permet de chercher une sous chaine dans une chaine de caractère. J'ai essayé avec le code suivant mais ca marche pas :

    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<conio.h>
    #include<string.h>
    main() {
            char ph[81],sph[81],tmp[81];
            int i,l,j,b,n;
            puts("entrer la phrase:");
            gets(ph);
            puts("entrer la sous phrase:");
            gets(sph);
            l=strlen(sph);
            n=strlen(ph);
            i=0;
            b=0;
            do { 
                 for(j=0;j<l;j++) {
                                   tmp[j]=ph[i];
                                   i++;
                                   }
     
                 if(strcmp(tmp,sph)==0)
                    b=1;
                 printf("la sous phrase %s existe dans l'emplacement %d.",sph,i);
                 i=i-l+1;
                 }while(ph[j]<n);
            if(b==0)
               printf("la sous phrase n'existe pas.");
            getch();
            }
    Merci d'avance

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Regarde du côté de la fonction strstr().

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci ca marche! mais je voudrais aussi que ca me retourne sa position dans la chaine

    voici le 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
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    main() {
            char ph[81],sph[81],tmp[81];
            puts("entrer la phrase:");
            gets(ph);
            puts("entrer la sous phrase:");
            gets(sph);
            if(strstr(ph,sph))
            printf("la sous chaine existe");
            else 
            printf("la sous chaine n'existe pas.");
            getch();
            }

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par z_meryem Voir le message
    Merci ca marche! mais je voudrais aussi que ca me retourne sa position dans la chaine
    C'est déjà le cas :

    Citation Envoyé par Man Page
    La fonction strstr() renvoie un pointeur sur le début de la sous-chaîne, ou NULL si celle-ci n'est pas trouvée.

    Voici le code :
    Peux-tu s'il-te-plaît encadrer ton code avec les balises [ CODE ] ? Tu peux éditer tes messages avec le bouton « Éditer » en bas à droite de chacun d'eux, et les corriger.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/10/2010, 19h09
  2. [RegEx] Remplacement de chaine dans une sous chaine
    Par fpouget dans le forum Langage
    Réponses: 4
    Dernier message: 23/02/2010, 08h49
  3. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  4. Réponses: 1
    Dernier message: 11/06/2008, 13h33
  5. recherche d'une chaine dans une sous chaine
    Par claralavraie dans le forum Oracle
    Réponses: 1
    Dernier message: 31/07/2006, 12h00

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