#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *string=NULL;
char *ptr, c = 'r',*result;
char *str1 = "begin123456end", *strbegin = "begin",*strend = "end";
int beginindex,endindex,beginstrlength=sizeof(strbegin);
ptr = strstr(str1, strbegin); //获取开始匹配字符串的指针
beginindex=ptr-str1;//开始字符串坐标
ptr = strstr(str1, strend); //获取开始匹配字符串的指针
endindex=ptr-str1;//结束字符串的左边
int n=endindex-beginindex-beginstrlength;//个数获取开始坐标同结束坐标中间的字符
if(n>0) //考虑2个字符串之间是否有字符
{
string=(char*)malloc((n)*sizeof(char));
//动态申请数值的大小考虑strncpy不一定用null作为结束所以申请空间多一个指定用/0结束
strncpy(string, str1+beginindex+beginstrlength+1, n-1); //
string[n-1]='/0';
printf("%s/n", string);
free(string);
}
return 0;
}