//定义全局变量
char g_buffer[MAX_BUF] = {'/0'};
#define NULL_PTR 0
//获取指定字符串的子串
char * substring(char *str, int startIndex, int length)
{
char *p = NULL_PTR;
char *temp = NULL_PTR;
int validlen = 0;
int actlen = 0;
//字符串实际长度
actlen = strlen(str);
//入参检查
if ((str == NULL_PTR) || (length > actlen))
{
printf("Error! input string is null!/n");
return NULL_PTR;
}
//指向拷贝的字符串起始位置
temp = str+startIndex;
//可拷贝的字串长度
validlen = actlen - startIndex;
//若拷贝的长度大于可拷贝的字串长度,则拷贝长度为可拷贝的长度
if (length > validlen)
{
length = validlen;
}
memset(g_buffer,0x0,MAX_BUF);
memcpy(g_buffer,temp,length);
p = g_buffer;
return p;
}