使用strtok解析c ++中的命令行参数

时间:2014-02-16 20:59:51

标签: c++ strtok

我正在尝试使用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;
}

1 个答案:

答案 0 :(得分:1)

这不是strtok的工作方式。对strtok的后续调用将继续处理第一个调用中提供的第一个参数。 strtok不应该用于此,因为参数已经被标记化,即它们不在一个char数组中。