我想知道为什么我的链表中会有元素,但在添加字符串之后,它们都是空字符串。当我设置终止字符串时,似乎有一些问题,但我相信我正在制作它的副本并将副本添加到链接列表中。这是我的密码。

        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/

10-15 07:04