将字符串拆分为标记并将其保存在数组中

如何将字符串拆分为一个标记,然后将它们保存在一个数组中?

具体来说,我有一个字符串"abc/qwe/jkh" 。 我想分开"/" ,然后将令牌保存到数组中。

输出将是这样的

 array[0] = "abc" array[1] = "qwe" array[2] = "jkh" 

请帮我

 #include  #include  int main () { char buf[] ="abc/qwe/ccd"; int i = 0; char *p = strtok (buf, "/"); char *array[3]; while (p != NULL) { array[i++] = p; p = strtok (NULL, "/"); } for (i = 0; i < 3; ++i) printf("%s\n", array[i]); return 0; } 

你可以用strtok()

 char string[]= "abc/qwe/jkh"; char *array[10]; int i=0; array[i] = strtok(string,"/"); while(array[i]!=NULL) { array[++i] = strtok(NULL,"/"); }