Isin,isword

Contenu du snippet

Code de quatre fonctions assez utile pour la recherche de mots et de caractère.
Montre l'utilisation de strstr

Source / Exemple :


#include <string.h> //librairie string.h est indispensable (strlen).
#include <stdio.h>

/*retourne 0 si find_string n'est pas dans string sinon retourne la position de la première lettre de find_string trouvé dans string.

  • /
int isin(char*string,char*find_string) { char*r; int result; //on met tout en minuscule string = _strlwr( _strdup( string ) ); find_string = _strlwr( _strdup( find_string ) ); r = strstr( string,find_string ); result = r - string + 1; if( r != NULL ) return result ; else return 0; } /*Pareil que pour isin sauf que c'est case-sensitive*/ int isincs(char*string,char*find_string) { char*r; int result; r = strstr( string,find_string ); result = r - string + 1; if( r != NULL ) return result ; else return 0; } /*retourne 0 si find_string n'est pas un mot de string sinon retourne la position de la première lettre de find_string trouvé dans string.
  • /
int isword(char*string,char*find_string) { char*r ; int result; //on met tout en minuscule string = _strlwr( _strdup( string ) ); find_string = _strlwr( _strdup( find_string ) ); r = strstr( string,find_string ); int o = strlen(find_string); result = r - string + 1; if( r != NULL ) { int x = result +o - strlen(string); if ( (result ==1 || *(r-1) == ' ') && (x ==1 || *(r+o) == ' ') ) return result ; } return 0; } /*pareil que isword sauf que c'est case-sensitive*/ int iswordcs(char*string,char*find_string) { char*r ; int result; r = strstr( string,find_string ); int o = strlen(find_string); result = r - string + 1; if( r != NULL ) { int x = result +o - strlen(string); if ( (result ==1 || *(r-1) == ' ') && (x ==1 || *(r+o) == ' ') ) return result ; } return 0; } int main() { //juste un petit exemple char*p = "Bonjourvous",*c = "vous"; if (isin(p,c)) printf("<%s> est dans <%s>\n",c,p); else printf("<%s> n'est dans <%s>\n",p,c); if (isword(p,c)) printf("<%s> est un mot de <%s>\n",c,p); else printf("<%s> n'est pas un mot de <%s>\n",c,p); return 0; }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.