我正在尝试从 .txt 文件中读取输入,并将其添加到单链表中。我遇到的问题是节点正在正确创建和连接(我得到正确的长度),但是在添加所有节点之后,每个数据字段都是相同的。我想知道问题是什么,以及如何解决它。一直在努力!
添加功能:
#include "linkedList.h"
#include <stdlib.h>
#include <string.h>
void addOrdered(Node ** Head,char * input)
{
printf("\nInput: %s\n",input);
Node * cur = (*Head);
Node * newNode = malloc(sizeof(Node));
newNode->Data = malloc(sizeof(Person));
newNode->Data->FName = strtok(input," ");
newNode->Data->LName = "test";
newNode->Data->id = 5;
newNode->Next = NULL;
if(cur == NULL)
{
(*Head) = newNode;
}
else
{
for(;cur->Next != NULL;cur = cur->Next)
{
printf(" Cur->Next ");
}
cur->Next = newNode;
}
}
处理文件:
void processFile(Node ** Head, FILE * fd)
{
char * input = malloc(sizeof(char)*SIZE);
while(fgets(input,SIZE,fd) != NULL)
{
addOrdered(Head,input);
}
free(input);
}