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;

}