Rechercher : dans
Par :

[C] fct vérifiant si une chaine est inclus ..

Dernière réponse le 23 nov 2008 à 22:59:23 Etudiant, le 23 nov 2008 à 18:52:17 
 Signaler ce message aux modérateurs

Bonjour,
Je veux réaliser une fonction qui vérifie si une chaine est inclue dans une autre
voilà ce que j'ai essayer
mais il marche pas tout a fait
il marche juste pour les premier caractere par exemple si je fait
ch1= france
ch2= fra
il va me dire que la chaine 2 est inclue dans 1
mais le probleme
si je fait
ch1 = france
ch2 = anc
il va me dire que ce n'est pas inclue
voilà la fonction

void inclus(char ch1[],char ch2[])
{
     char ch3[40];
     if(strlen(ch1)>strlen(ch2))
     {
     strncpy(ch3,ch1,strlen(ch2));
     if(strcmp(ch3,ch2)==0)
     printf("le chaine 2 est inclus dans 1 ");
     else
     printf("la chaine 2 n'est pas include dans 1");
     }
     else if(strlen(ch1)<strlen(ch2))
     {
     strncpy(ch3,ch2,strlen(ch1));
     if(strcmp(ch3,ch1)==0)
     printf("le chaine 1 est inclus dans 2 ");
     else 
     printf("la chaine 1 n'est pas inclue dans 2");
     
     }
Configuration: Windows Vista
Safari 525.19

Meilleures réponses pour « [C] fct vérifiant si une chaine est inclus .. » dans :
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
Introduction à la STL en C++ (standard template library) VoirIntroduction Principales classes de la STL std::pair std::list std::vector std::set std::map Les iterators iterator et const_iterator reverse_iterator et const_reverse_iterator Les algorithmes ...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

fiddy, le 23 nov 2008 à 22:26:38

Salut,
C'est normal, strcmp, sert juste à comparer si deux chaînes sont strictement égal ou pas. "france" et "anc" ne ne sont égales, donc différent de 0. D'où le message "ce n'est pas inclu".
Et juste pour remarque, il existe aussi strncmp au lieu de strcmp.
Et lorsque tu utilises strncpy, : strncpy(ch3,ch1,strlen(ch2)); C'est pas bon.
strncpy(ch3,ch1,strlen(ch1)+1);.
Cdlt
Google is your friend

Répondre à fiddy

2

 kilian, le 23 nov 2008 à 22:59:23
Répondre à kilian
Collection CommentÇaMarche.net