Verificar si una subcadena está contenida en otra |
|
|
|
Escrito por adrianvaca
|
Martes, 22 de Marzo de 2011 23:35 |
La siguiente función resuelve el trabajo usando funciones de string.h:
int verificar( char *cadena, char *subcadena ) { char *tmp = cadena; char *pdest; pdest = strstr( tmp, subcadena ); if( pdest ) return 1;
return 0; } |
Las siguientes funciones NO usan funciones de string.h
int longitud(char *cadena) { int i = 0;
while(cadena[ i ]!='\0') i++;
return i; }
int verificar(char *cadena, char *subcadena) { int i, j; int l_cadena = longitud(cadena); int l_subcadena = longitud(subcadena);
if(l_cadena < l_subcadena) return 0; if(cadena[ 0 ]=='\0' && subcadena[ 0 ]=='\0') return 1;
for(i=0; i < l_cadena; i++) if(cadena[ i ]==subcadena[ 0 ]) { if(l_cadena-i < l_subcadena) return 0;
for(j=0; j < l_subcadena; j++) if(cadena[ i+j ]!=subcadena[ j ]) break;
if(j==l_subcadena) return 1; }
return 0; } |
|