Programmation en c,
Résolu/Fermé
A voir également:
- Programmation en c,
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Un autre programme est en cours d'installation - Forum Windows 10
3 réponses
oui je sait, mais le rof nous a demander d'ecrire un implémentation de cette fonction.
j'ai essayer de la faire mais mais malheuresemant mon micro c'est plenter et j'ai pas un micro pour le refaire c'est trop tard, SVP aidez moi
j'ai essayer de la faire mais mais malheuresemant mon micro c'est plenter et j'ai pas un micro pour le refaire c'est trop tard, SVP aidez moi
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
23 avril 2006 à 12:59
23 avril 2006 à 12:59
C'est plutôt strstr :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strstr.3.html
Et si elle existe déjà, pourquoi tu veux la recoder ? En plus je crois que c'est une question à laquelle j'ai déjà répondu sur ce forum... Il faut balayer ta chaine en utilisant la fonction strcmp...
Bonne chance
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strstr.3.html
Et si elle existe déjà, pourquoi tu veux la recoder ? En plus je crois que c'est une question à laquelle j'ai déjà répondu sur ce forum... Il faut balayer ta chaine en utilisant la fonction strcmp...
Bonne chance
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
24 avril 2006 à 00:25
24 avril 2006 à 00:25
On écrit trivialement le programme suivant ;-)
Merci de ne pas recopier bêtement et de prendre le temps de comprendre... je n'aime pas donner les solutions d'un exercice directement.
Bonne chance
#include <string.h> #include <stdio.h> /** * \brief teste si la deuxieme chaine est le * debut de la seconde * \param sentence la phrase * \param pattern le motif * \return 1 si vrai 0 sinon */ int is_prefix(const char *sentence,const char *pattern){ unsigned int i, len_p=strlen(pattern), len_s=strlen(sentence); for(i=0;i<len_p;++i){ if(i>len_s) return 0; if(sentence[i]!=pattern[i]) return 0; } return 1; } /** * \brief compare deux chaines en retournant * le nombre d'occurence de la 2e dans la 1ere * \param sentence la phrase * \param pattern le motif * \return le nombre d'occurence de str2 dans str1 */ unsigned int my_strstr(const char *sentence,const char *pattern){ unsigned int res=0,i, len_s=strlen(sentence), len_p=strlen(pattern); for(i=0;i<len_s;++i){ if(is_prefix(sentence,pattern)) ++res; ++sentence; } return res; } int main(){ char *str1="plop et plop plopplop"; char *str2="plop"; printf("str1 = [%s]\n",str1); printf("str2 = [%s]\n",str2); printf("my_strstr(\"%s\",\"%s\") = %d\n",str1,str2,my_strstr(str1,str2)); return 0; }
Merci de ne pas recopier bêtement et de prendre le temps de comprendre... je n'aime pas donner les solutions d'un exercice directement.
Bonne chance