0
我有這個功能打開,讀取和關閉文本文件:信息,在代碼解析,而不是將其存儲到鏈表
void readDataFile()
{
FILE *fp = fopen("AssignmentOneInput.txt", "r"); //opens AssignmentOneInput.txt for reading
char buffer[100];
char *insertName;
char *id;
if (fp == NULL)
{
printf("Error while opening the file.\n");
exit(0);
}
while (!feof(fp))
{
fgets(buffer, sizeof buffer, fp);
insertName = strtok(buffer, ",");
id = strtok(NULL, ",");
insertNode(insertName, id); //function right here is supposed to input information
//into the linked list
}
fclose(fp);
}
這是我的插入功能:
void insertNode(char *insertName, char *id)
{
struct node *temp = malloc(sizeof(struct node));
int intId = atoi(id);
strcpy(temp->name, insertName);
temp->id = intId;
temp->next = head; //rest of the new list is entirety of the current list
head = temp; //head of the new list is the element being inserted
}
我從文本文件中讀取信息。我使用strtok將信息解析爲令牌並將它們存儲到它們各自的變量中。然後,我在while (!feof(fp))
循環的末尾調用insertNode將每行信息存儲到鏈接列表中。但是,信息不會被存儲。
每當我在main函數中調用insertNode並遍歷它時,信息就會被存儲到鏈表中而沒有問題。
所以我現在的想法是,解析影響存儲的信息或者我的insertNode函數有問題。
有人可以向我解釋爲什麼這是?
我不明白您的具體問題?你說事情按預期工作,你的疑問如何?請重新設置您的問題並詢問您的確切要求 – Gopi 2015-02-08 07:38:25
閱讀您的問題的人不知道您在說什麼。請說清楚。另外,你有一個[重複的帳戶](http://www.stackoverflow.com/questions/28390829/inserting-a-name-and-numbers-to-end-of-linked-list)? – 2015-02-08 07:52:02
@CoolGuy,no。我不擁有該帳戶。這是我唯一的一個。 – 2015-02-08 07:53:11