Nota: Para aplicar la función en un archivo binario necesitas pasar las variables
Código:
int iCadena=strlen(cadena);
int iNecesitada=strlen(necesitada);
Como parámetro en la función
Código:
Y en vez de usar strcmp usar memcmp...int instr(char *cadena,char *necesitada,int iCadena,int iNecesitada)
Bueno aquí la función
Código:
/**********************
* Instr o Strpos *
* Coder: Linkgl *
* Greatz: The Swash *
**********************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//prototipo
int instr(char *cadena,char *necesitada);
//->uso
int main()
{
int x=instr("linkholalink","hola");
printf("%d",x);
return 0;
}
//funcion
int instr(char *cadena,char *necesitada)
{
int iCadena=strlen(cadena);
int iNecesitada=strlen(necesitada);
int i;
char *temp=(char *)malloc(iNecesitada);
for(i=0;i<iCadena*iNecesitada;i++)
{
memcpy(temp,cadena+i,iNecesitada);
if(strcmp((char *)necesitada,(char *)temp)==0)
return i+1;
}
return -1;
}//Compilado en Mingw - IDE: Dev C++
Retorna la posicion en la que se encuentra la cadena, en este caso nos retorna 5 y si no la encuentra retorna -1
Comentarios sugerencias y críticas en los comentarios!.
No hay comentarios:
Publicar un comentario