Busca la funcion que necesitas!

Mostrando entradas con la etiqueta instr strpos en c. Mostrar todas las entradas
Mostrando entradas con la etiqueta instr strpos en c. Mostrar todas las entradas

jueves, 6 de enero de 2011

C - Funcion Instr o StrPos en C

Bueno este code salió intentando ayudar a the swash en una cosilla, creditos a the swash, la función simula strpos o instr de Visual Basic, para los que no saben la función busca una cadena dentro de otra y si la encuentra retorna la posicion de su primer caracter, si no retorna -1 (en este caso)

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:
int instr(char *cadena,char *necesitada,int iCadena,int iNecesitada)
Y en vez de usar strcmp usar memcmp...
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!.