我正在尝试使用strtok解析命令行参数。在我进入循环之前我获得了一个成功的令牌,但是一旦我进入我的while循环以标记其余的args,它就会退出工作任何想法?代码:
int main(int argc, char *argv[])
{
char *t = NULL;
t = strtok(*argv," ,.-");
while (t != NULL)
{
cout << t << endl;
t = strtok (NULL, " ,.-");
}
return 0;
}
答案 0 :(得分:1)
这不是strtok的工作方式。对strtok的后续调用将继续处理第一个调用中提供的第一个参数。 strtok不应该用于此,因为参数已经被标记化,即它们不在一个char数组中。