Es de indice 0. (la Menor posición valida)
En caso de algún error o no encontrase la cadena muestra -1.
int StringInStr(char sString[],char sFind[])
{
int i=0;
int iPost=0;
int lensFind=strlen(sFind);
int lensString=strlen(sString);
if (lensFind>lensString)
{
return -1;
}
for (i=0; i<lensString; i++)
{
if (sString[i]==sFind[iPost])
{
iPost++;
if (iPost==lensFind)
{
return i-lensFind+1;
break;
}
}
else
{
iPost=0;
}
}
if (iPost==lensFind)
{
return i-lensFind+1;
}
else
{
return -1;
}
}
Uso:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int StringInStr(char sString[],char sFind[]);
int main()
{
char sString1[]="Hola Yo Soy Pink";
char sFind2[]="Soy Pink";
printf("Posicion: %d\n",StringInStr(sString1,sFind2));
return 0;
}
Código: Seleccionar todo
Salida:
Posición: 8
Saludos