我正在尝试使用 strtok 解析命令行参数。在我进入一个循环之前我得到了一个成功的标记,但是一旦我进入我的 while 循环来标记我的其余参数,它就停止工作有什么想法吗?代码:
int main(int argc, char *argv[])
{
char *t = NULL;
t = strtok(*argv," ,.-");
while (t != NULL)
{
cout << t << endl;
t = strtok (NULL, " ,.-");
}
return 0;
}
最佳答案
这不是 strtok 的工作方式。对 strtok 的后续调用将继续处理在第一次调用中提供的第一个参数。 strtok 不应用于此,因为参数已经被标记化,即它们不在一个单独的字符数组中。
关于c++ - 在 C++ 中使用 strtok 解析命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21816537/