Si funciona retorna un puntero a una cadena de lo contrario retorna NULL.
Indice 0.
char * strmid(const char * str,int iStart,int iEnd)
{
int i=0;
char *ptr=NULL;
int sLen=strlen(str);
if(!(iEnd>sLen || iStart<0 || iStart>=iEnd)){
ptr=malloc(iEnd-iStart+1*sizeof(char));
if (ptr!=NULL)
{
for (i=iStart; i<=iEnd; i++)
{
ptr[i-iStart]=str[i];
}
ptr[i-iStart]=0x00;
}
}
return ptr;
}
USO:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *str="Hola Soy Pink";
char *sptr=NULL;
sptr=strmid(str,9,12);
printf("%s",sptr);
return 0;
}
Salida:
Código: Seleccionar todo
Pink
Saludos