【发布时间】:2010-09-20 22:47:09
【问题描述】:
我一直在尝试使用 SPACE 作为分隔符来标记字符串,但它不起作用。有没有人建议它为什么不起作用?
编辑:使用标记化:
strtok(string, " ");
代码如下
pch = strtok (str," ");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ");
}
【问题讨论】:
-
您使用的是 strtok 还是您自己开发的东西? cplusplus.com/reference/clibrary/cstring/strtok.html 如果您使用 strtok,您是否尝试在常量字符串上执行此操作?
-
您的示例将获得第一个令牌,请查看 gbjbaanb 或我的答案以了解正确用法。
-
好的。现在我们正在取得进展。你认为你没有得到什么行为?
-
顺便说一句,kombo。许多在服务台工作或教学的人将“它不起作用”这句话视为标记用户没有阅读提供的手册,或者不知道他们真正想要什么,或者非常困惑。你想要的形式是“我在做 X,我期望 Y,但我得到了 Z。怎么了?”
-
@dmckee:好点。规范外部参考:catb.org/~esr/faqs/smart-questions.html