pues en c que me acuerde no hay ninguna funcion ya defininda de substring, pero podes crear una, aca te la dejo:
#include <stdio.h>
char *substring(size_t start, size_t stop, const char *src, char *dst, size_t size)
{
int count = stop - start;
if ( count >= --size )
{
count = size;
}
sprintf(dst, "%.*s", count, src + start);
return dst;
}
int main()
{
static const char text[] = "The quick brown fox jumps over the lazy dog.";
char a[10], b[5];
printf("substring = \"%s\"\n", substring(4, 13, text, a, sizeof a));
printf("substring = \"%s\"\n", substring(4, 13, text, b, sizeof b));
return 0;
}
/* my output
substring = "quick bro"
substring = "quic"
*/
espero que sea para algo que ocupes y no una tarea que tengas que realizar, saludos