我需要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
的节点。
谢谢您的帮助。