Language c
Bonjour,
je doit faire une fonction qui cherche un mot donné dans un texte et le met en surbrillance.
ps: le texte et le mot seront saisie par l'utilisateur
je programme en language c.
merci d'avance
je doit faire une fonction qui cherche un mot donné dans un texte et le met en surbrillance.
ps: le texte et le mot seront saisie par l'utilisateur
je programme en language c.
merci d'avance
8 réponses
-
Pour rechercher une sous-chaîne dans une chaîne:
#include "string.h" char* strstr (const char* chaine, const char* sousChaine); Retourne une pointeur sur la 1ère occurence, NULL sinon.
Pour ce qui est de la surbrillance, je sèche lamentablement. -
merci ya pas quelquin qui sache le faire
-
ModérateurSalut,
Un exemple sous linux#include<stdio.h> #define SURBRILLANCE "\033[0;47m" #define COULEUR_PAR_DEFAUT "\033[0;m" int main() { printf("%ssalut%s tout le monde\n", SURBRILLANCE,COULEUR_PAR_DEFAUT); return 0; }Exemple exécution https://www.cjoint.com/?bkuAxFUJki
-
merci mais le mot que je dois mettre en surbrillance c'est l'utilisateur qui doit le donner
-
ModérateurSalut,
Je l'ai bien compris ;-)
Ben, il te reste à combiner ce que t'as donné loupius avec mon exemple
Si jamais ça ne marche pas ton code, tu peux le mettre ici pour voir. -
je ne vois pas comment je doit faire dsl :(
-
ModérateurRe,
lami20j@debian:~/trash$ cat ccm28_surbrillance.c #include<stdio.h> #include<string.h> #define SURBRILLANCE "\033[0;47m" #define COULEUR_PAR_DEFAUT "\033[0;m" int main() { char s[255]; char mot[20]; int i,j,k; int test=0; printf("Entrez la phrase : "); fgets(s,255,stdin); printf("Mot à chercher : "); fgets(mot,20,stdin); for(i=0;s[i] != '\n';++i){ for(j=i,k=0;mot[i]!='\n' && s[j]==mot[k];++j,++k) ; if(k>0 && mot[k]=='\n'){ mot[k]='\0'; test=1; printf("%s%s%s trouvé\n", SURBRILLANCE,mot,COULEUR_PAR_DEFAUT); } } if(test==0) printf("Pas de correspondance!\n"); return 0; }Exécution https://www.cjoint.com/?bkwOOf6eHK -
merci :)