我有以下内容struct
:
struct NODE {
char username[50];
char password[50];
char usertype[50];
struct NODE *next;
} *head=NULL;
我想从一个.csv
文件中读取,比如database.csv
表单username, password, usertype
,将每一行标记为标记strtok
,并将每个标记放在正确的字段中。例如,我的文件如下所示:
johnnydepp, pirate123, user
tonystark, iron456, sysop
我一直在阅读 C LinkedList
,但我无法弄清楚。任何帮助将不胜感激,或者任何关于如何LinkedList
在 C中实现 a 的良好参考。
我的主要问题是将元素放在每个节点中。我知道如何用来strtok
标记文件中的一行。这是我到目前为止所做的:
void createList() {
FILE *data;
data = fileopen("password.csv", "r");
char parsedLine[50];
while (fgets(parsedLine, 50, data) != NULL) {
char *ptr = strtok(parsedLine, ", ");
node *temp;
temp = (node*)malloc(sizeof(node));
// I am stuck here //
}
谢谢!
编辑
这行得通吗?
extern void createList() {
FILE *data;
data = fileopen("password.csv", "r");
char parsedLine[50];
while (fgets(parsedLine, 50, data) != NULL) {
struct NODE *node = malloc(sizeof(struct NODE));
char *getUser = strtok(parsedLine, ", ");
strcpy(node->username, getUser);
char *getPass = strtok(NULL, ", ");
strcpy(node->password, getPass);
char *getType = strtok(NULL, ", ");
strcpy(node->usertype, getType);
node->next = head;
head = node;
}
fclose(data);
}