【发布时间】:2017-10-26 20:05:46
【问题描述】:
我真的是编码新手,尝试在 C++ 中拆分字符串时遇到了一些麻烦。我想知道如何拆分一个字符串,该字符串在 C++ 中作为 const char names[] (i.e. "Mary, Jan, Jane") 输入而不使用任何外部库(即我不想使用 #include <string> 等 - 虽然我可以使用 @987654323 @)。
我尝试过使用:
const char names[] = "Mary, Jan, Jane";
char *token = strtok(names, ",");
while (token != NULL) {
token = strtok(NULL, " ");
}
但我似乎无法传递一个 const 字符数组,而且我还想知道您将如何访问所有单独的“令牌”?
另外,我尝试将输入更改为 char names[](但我确实需要输入为 const),但出现分段错误,我不明白为什么。
【问题讨论】:
-
strtok()不使用常量作为参数。它实际上修改了传入的字符串。 -
如何定义“外部库”?
-
不使用任何外部库 -- 那么
strtok()你怎么看? -
为什么不能使用#include
?这是某种具有该要求的家庭作业吗?如果是这样,我会质疑我教授的素质...... -
我在尝试在 C++ 中拆分字符串时遇到了一些麻烦 -- 将代码更改为
C并在 @987654329 中询问可能会更好@group on StackOverflow,因为你想扔掉 C++。