将文件打开到结构中

时间:2012-05-14 11:28:57

标签: c

我似乎遇到了打开包含学生记录等信息并使用我的结构打印的文件的问题。

说我在txt文件中有学生姓名,他们的ID和成绩,例如:

casnova 195843 A
and so on...

我将我的结构定义为:

struct student {
    char name[20];
    int ID;
    char Grade;
};

我想使用结构加载这个文件,我对于我应该做的事情感到很遗憾。

我的问题不是询问如何解决这个问题,而是基本上是一个起点,因为我仍然是C编程的新手,任何提示/链接都有帮助:)

2 个答案:

答案 0 :(得分:2)

  

我的问题不是询问如何解决问题,而是基本上问题   起点

  • 定义struct student数组char
  • 的数组
  • 使用fopen打开文件
  • fgets循环中使用while一次读取一行(这是char数组的用途)
  • 使用sscanf提取所述行的组成成员。测试sscanf返回的值。或者,您可以使用strtok并根据需要转换令牌。

答案 1 :(得分:0)

旧答案不在话题中,并且已被删除。


没有注意到那是一个文本文件。

您可能想要找到两件事的答案,或者您可能已经知道答案:

  1. 使用fscanf
  2. 读取文本文件
  3. 将日期写入结构变量

  4. 如果文件中的内容是:

    Tom 123 A
    Dick 456 B
    

    并使用fopen打开文件,并获得名为FILE *的{​​{1}}。

    fp

    将使用文件中的内容填充结构。

    但是你必须确保文件的内容是正确的。或者您必须使用文件内容进行一些复杂的解析。