0

我需要LinkedList从文件.csv文件中实现一个。我的节点定义如下:

struct NODE {
    char username[50];
    char password[50];
    char usertype[50];
    struct NODE *next;
} *head=NULL;

我已将整个.csv文件放在一个名为database. 然后我想要sscanf这个数组并将每个对应的单词放在我节点内的特定字段中。我写下了以下代码:

void createList() {
    // I need a while-loop here //
    struct NODE* toAdd = (struct NODE*)malloc(sizeof(struct NODE));
    sscanf(database, "%[^','],%[^','],%[^'\n']", toAdd->username, toAdd->password,     toAdd->usertype);
    if (add(toAdd) == false) {
        printf("Error: was unable to initialize password validation!");
        exit(EXIT_FAILURE);
    }
}

我的add功能如下所示:

BOOLEAN add(struct NODE *p) {
    if (p == NULL)   return false;
    if (head == NULL) {
        p->next = NULL;
        head = p;
    } else {
        p->next = head;
        head = p;
    }
    return true;
}

上面的功能有问题吗?总而言之,我想从数组中读取。我将这个数组“分解”为三个字块,然后将第一个分配给节点的用户名字段,第二个分配给密码字段,等等。我想在我的整个数组上执行此操作,因此创建一个大LinkedList的节点。

谢谢您的帮助。

4

0 回答 0