如何将字符串拆分为令牌,然后将它们保存到数组中?将字符串拆分为令牌并将它们保存在数组中
具体来说,我有一个字符串"abc/qwe/jkh"
。我想分开"/"
,然后将令牌保存到数组中。
输出将会是这样:
array[0] = "abc"
array[1] = "qwe"
array[2] = "jkh"
请帮我
如何将字符串拆分为令牌,然后将它们保存到数组中?将字符串拆分为令牌并将它们保存在数组中
具体来说,我有一个字符串"abc/qwe/jkh"
。我想分开"/"
,然后将令牌保存到数组中。
输出将会是这样:
array[0] = "abc"
array[1] = "qwe"
array[2] = "jkh"
请帮我
#include <stdio.h>
#include <string.h>
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;
}
如果我想比较array [0]与数组[1],我应该怎么做? – 2013-03-18 08:40:49
您使用
这假设已知令牌的数量。 – 2014-06-04 17:05:26
您可以使用strtok()
char string[]= "abc/qwe/jkh";
char *array[10];
int i=0;
array[i] = strtok(string,"/");
while(array[i]!=NULL)
{
array[++i] = strtok(NULL,"/");
}
你可以使用strtok的 – 2013-03-18 08:20:03