从.txt文件读取不同的数据类型

时间:2019-02-13 12:22:06

标签: c

我想从文本文件中读取数据并存储数据。

我无法使用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");
    }
}

1 个答案:

答案 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 ...      
}

我希望它会对您有所帮助:)