我想知道为什么我的链表中会有元素,但在添加字符串之后,它们都是空字符串。当我设置终止字符串时,似乎有一些问题,但我相信我正在制作它的副本并将副本添加到链接列表中。这是我的密码。
char name[256] = " ";
while (serial.available()) {
char text= serial.read();
Print(text);
if (text== '\n') {
char copy[256];
strcpy(copy, name);
add(copy, list); //adds copy to a linkedlist named list
name[0] = '\0';
} else {
append(name, text);
}
}
函数调用后,链表中有一堆元素,但它们都是空字符串。知道有什么问题吗?
最佳答案
问题是这个声明:
char copy[256];
copy
是一个局部变量,因此不允许将其存储以供以后使用。换成
char *copy = new char[256];
来解决这个问题。
关于c - 添加后从链接列表中删除C值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35858125/