c++ - C ++使用strtok将标记添加到链表
问题描述
我是 C++ 新手,我在这里遇到了很多麻烦。我不想透露我所有的代码,但希望我在这里所拥有的就足够了。
目标是创建一个 char 指针的链接列表,其中每个指针指向一个标记值。到目前为止,我只有第一个令牌被放入链表。例如,如果我输入“cats are cool”,我只会得到“[cats]”作为我的输出。我确定我的 addNew 方法是正确的,所以我认为它与 strtok 有关,但我不确定哪里出了问题。
另一个问题是如何在每个标记周围打印括号?我现在拥有的是在我的整个输出行周围打印花括号。任何帮助将不胜感激 :)
class List{
// Node constructor
public:
void addNew(char *tok){
Node *newNode = new Node;
newNode -> data = tok;
newNode -> next = NULL;
if(head == NULL) head = newNode;
};
void printTokens(){
if(head == NULL) std::cout << "Empty";
Node *tmp;
tmp = head;
while(tmp != NULL){
std::cout << "[" << tmp -> data << "]";
tmp = tmp -> next;
} // While loop
};
};
int main(){
List list;
// prompt is a char array created from the user's input
char delim[] = {' ', '|', ';', '&'};
char *token = strtok(prompt, delim);
while(token){
list->addNew(token);
token = strtok(NULL, delim);
}
list -> printTokens();
}
解决方案
推荐阅读
- firebase - 未处理的异常:'package:flutter/src/widgets/navigator.dart':断言失败:'!navigator._debugLocked':不正确
- javascript - jQuery - 如何在下拉值更改时在 Kendo Grid 内的 Kendo DatePicker 上设置今天的日期
- java - 我无法获得所有节点的平均值以用 Java 打印
- python - 如何从两个列表中获取字典可能性的每个排列?
- python - 找不到来自 pyinstaller“spec”文件的“datas”数组中的文件
- javascript - 如何在下拉链接上应用 Bootstrap 4 选择样式,例如:a 标签
- java - 未连接适配器;使用 volley 时跳过布局
- c++ - 编译多个 c++ 文件不适用于某些文件名
- javascript - Chart.js 组合了具有不同数据点的折线图和条形图
- python - 无法捕获 argparse 的异常/错误