C语言中字符切割函数split的实现
#include?<stdio.h>
#include?<string.h>
//?将str字符以spl分割,存于dst中,并返回子字符串数量
int?split(char?dst[][80],?char*?str,?const?char*?spl)
{
int?n?=?0;
char?*result?=?NULL;
result?=?strtok(str,?spl);
while(?result?!=?NULL?)
{
strcpy(dst[n++],?result);
result?=?strtok(NULL,?spl);
}
return?n;
}
int?main()
{
char?str[]?=?"what?is?you?name?";
char?dst[10][80];
int?cnt?=?split(dst,?str,?"?");
for?(int?i?=?0;?i?<?cnt;?i++)
puts(dst[i]);
return?0;
}