我想从文本文件中读取数据并存储数据。
我无法使用getc()
来获取所有数据,因为它将一次获取所有数据,而且我不知道如何分发这些数据供我使用。
数据采用以下形式:
约翰
塞巴斯蒂安
1
2 //注释数(因此,当我读取此值并运行循环以收集所有
笔记)
12 //注1
21 //注释2
#include <stdio.h>
struct StudentDetails
{
char firstName[100], secondName[100];
int notes[100][30], id;
struct StudentDetails *next;
};
int main()
{
FILE *input;
input = fopen("input.txt", "r");
if (!input)
{
while (input != EOF)
{
//what to do to store in different variable rather in one.
}
}
else
{
printf("File not found");
}
}
答案 0 :(得分:-3)
请尝试使用fread()函数从文件中读取记录,然后尝试fwrite(),该函数用于将记录写入文件中。 例如:fwrite(&sd,sizeof(sd),1,input); 用于学生记录,无需结构StudentDetails *下一步; (我们没有像链表那样做任何事情,我们只是在文件中写入不同的学生记录。因此,您只需在main中将结构变量定义为StudentDetails SD,每次循环迭代就足以将一个学生记录写入文件。) 阅读可以使用
while(fread(&sd,sizeof(sd),1,input) > 0 )
{
printf("Name:%s",sd.name);//this you can do ...
}
我希望它会对您有所帮助:)