[C] fct vérifiant si une chaine est inclus ..
Etudiant
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
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
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"); }
A voir également:
- [C] fct vérifiant si une chaine est inclus ..
- Chaine tnt gratuite sur mobile - Guide
- Vérifier si une phrase est correcte - Accueil - Google
- Chaine radio - Télécharger - Médias et Actualité
- Plus de chaine tv - Guide
- Chaine musique bouygues - Accueil - Guide TV et vidéo
2 réponses
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
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