C:将数据从文本文件添加到单链列表中

帕茨基

我最近开始学习C编程。我有一些Java经验,所以我想思考代码的方式。.我正在做的这个小事情正在使我丧命。我正在尝试制作一个从文本文件中读取行的程序->将其存储在单链列表中->打印出单链列表这是我到目前为止的代码:

typedef struct node {
    char *data;
    struct node *next;
} node;

node *start = NULL;
node *current;


void add(char *line) {

    node *temp = malloc(sizeof(node));
    // This line under I believe where my problem is...
    temp->data = line;
    temp->next = NULL;
    current = start;

    if(start == NULL) {
        start = temp;
    } else {
        while(current->next != NULL) {
            current = current->next;
        }
        current->next = temp;
    }
}

这是我的功能,用于读取文件并将字符发送到添加功能

void readfile(char *filename) {
    FILE *file = fopen(filename, "r");

    if(file == NULL) {
        exit(1);
    }

    char buffer[512];

    while(fgets(buffer, sizeof(buffer), file) != NULL) {
        // I've tried to just send i.e: "abc" to the add function
        // which makes the program work.
        // like: add("abc");
        // my display method prints out abc, but when I'm sending buffer
        // it prints out nothing
        // Thing is, I've spent way to much time trying to figure out what
        // I'm doing wrong here...
        add(buffer);
    }

    fclose(file);
}

我敢肯定这是一个相当简单的问题,但是我花了太多时间在这个问题上。如果还有其他事情可以解决/可能会更好,我也很高兴为此退还费用:)

约翰·哈斯考尔

尝试:

temp->data = strdup(line);

duplicate(制作副本),在哪一行点。

否则,每行都指向,而每行都buffer将被新行覆盖。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将文本文件内容添加到列表列表中

将文本文件中的双打添加到数组列表中

如何将文本文件中的数据添加到 JavaFX 中的 ComboBox?

将文本添加到文本文件的开头

阅读文本文件并添加到列表

将对象从文本文件添加到列表

将文本文件中的行添加到列表中时,它将整个行设置为字符串。如何识别文本文件中的不同数据类型?

将文本文件每一行中的每个字符添加到 Python 列表中

将文本添加到文本文件的开头,而不必在R中复制整个文件

如何将文本文件添加到 bash 脚本中,然后使用该文本文件

类似于一个较早的问题“将标题添加到列表文本文件中的列”

将 JSON 数组添加到文本文件

将特定行添加到文本文件

将.pdf添加到文本文件中的文本末尾-bash

将输出数据添加到1个文本文件

使用标题值将列添加到文本文件(文件中的多个标题)

遍历文本文件中的每一行并添加到列表框

从文本文件中读取行并将其添加到列表框

希望将文本文件中的逗号分隔值添加到结构的成员中

如何将文本文件中的String元素添加到ArrayList中?

将文本文件中的值添加到HashMap中

如何将文本文件中的用户添加到unix系统中?

c#如何防止将一个特定字符添加到文本文件中

在Python中将数据添加到文本文件的特定行中?

在Bash中以设置的间距将列添加到文本文件

将新字符串添加到文本文件中特定行的末尾

将两列的数值添加到文本文件中

将文本文件中的url添加到字符串数组(Android)

如何将多个文本文件中的字符串添加到数组