如何找出标记化的最后一个原因

时间:2009-11-09 19:49:31

标签: c

我正在使用以下代码来标记C中的字符串并使用“,”来制作令牌,但我想知道它何时在“”出现时以及“,”出现在字符串中时是否生成字符串的标记。

char *pch;
pch = strtok(buffer, ", ");
while (pch!=NULL) {
    printf("%s\n", pch);
    pch = strtok(NULL, " ,");
}

2 个答案:

答案 0 :(得分:2)

据我所知,strtok不支持该功能。但是,您可以执行其他检查:每次返回pch时,查看剩余缓冲区的第一个字符是否为“”或“,”。然后,你需要追踪剩余的缓冲区,但这是你的功课:)

答案 1 :(得分:0)

strtok和CLIB不会公开此信息。所以没有便携的方式来获得它。

您可以通过适用于clib实现的hack获取您正在寻找的信息,但如果您想要一些稳定且可移植的东西,您唯一的选择就是实现一个告诉您分隔符的strtok-workalike。

那项任务不是火箭科学......