我需要讀取文本文件並將數據存儲在結構中。我已經完成了使用FILE *fp = fopen("datafile.txt", "r")
使用fgets(buffer, sizeof(buffer), fp)
來讀取數據來打開文件的部分。我的文件結構如下C:逐行讀取文件並將數據插入到結構中
John is enrolled in MATH 1314
Steve is enrolled in MATH 1314
struct course {
char name[20];
char department[4];
int number[4];
};
int main(void)
{
FILE *fp;
char* token;
char* line[50];
struct course student;
fp = fopen("input-hw04b.txt", "r");
while (fgets(line, sizeof(line), fp) != NULL)
{
token = strtok(buffer, " ");
while (token != NULL)
{
/* Add structures here */
token = strtok(NULL, " ");
}
}
}
我需要將以下
- 約翰
- 1314存儲在student.name
- MATH在student.department在student.number
到目前爲止,這是我的,我堅持如何將這些數據放入結構中。我從一個文本文件中讀取數據,逐行讀取數據,然後對其進行標記,以便我嘗試將其放入結構中。
瞭解如何解析這些字符串/行,並從中獲取他們的預期信息。在此處搜索存檔或Google而不是要求輸入代碼。 – Rohan
'char * line [50]'應該是'char line [50]'。在你的結構中,你只能存儲一個學生,如果你想存儲幾個學生,你需要一個你的結構或鏈接的數組或類似的東西。 'char部門[4]'只能保存長度爲3的字符串,但在這裏例如。 「數學」是4個字符長。您忘記了信息帳戶的零終止。順便說一句'緩衝區'是什麼? –
我想你的意思是strtok(line,「」)not strtok(buffer,「」) –