下面的C代码可以达到你的要求,仅供参考。
#include
#include
void main(int argc, char *argv[])
{
char code[] = "th is$i s$a n$prob lem";
char *p1 = code;
char *p2;
while((p2 = strtok(p1, " $")) != (char *)NULL)
{
printf("%s\n", p2);
p1 = (char *)NULL;
}
}
对问题补充的回答:
如果需要“该字符串先用"$"作为分隔符分割,再对分割出的字符串用" "(空格)作为分隔符分割”,那么问题的解决将变得稍微复杂了些。请参看如下代码。
#include
#include
void main(int argc, char *argv[])
{
char code[] = "th is$i s$a n$prob lem";
int len = strlen(code);
char *p1 = code;
char *p2;
char *p3;
while((len > 0) && (p2 = strtok(p1, "$")) != (char *)NULL)
{
p1 += strlen(p2) + 1;
len -= strlen(p2) + 1;
while((p3 = strtok(p2, " ")) != (char *)NULL)
{
printf("%s\n", p3);
p2 = (char *)NULL;
}
}
}