如何从文件中正确导入此结构?

时间:2017-12-03 12:03:08

标签: c

我正在尝试编写一个程序来解决C中的背包问题。作为这项任务的一部分,我们被要求打开一个文本文件,其内容如下,读取对象,权重,值和文件中每个对象的成本。我根本不知道如何导入这些信息并按照结构的正确顺序存储它。 下面是文本文件显示格式的示例是objects.txt:

  

块引用

价值重量成本

7 1 4

6 5 10

6 11 15

5 4 8

4 2 20

3 6 8

2 4 9

2 10 3

1 6 7

1 个答案:

答案 0 :(得分:1)

是的,现在是星期天,明天你的作业可能会到期......我们不做作业,但我们可以提供一些指导。

要从文本文件中读取数据,请使用FILE *fp=fopen(...打开它。打开文件(并检查它已成功打开)后,您可以通过两种方式读取行:

  • 通过调用fscanf(fp, "%d %d %d ",...并检查您想要读取的参数数量(如果没有,您可能在文件末尾),或者

  • 通过调用fgets将行读入缓冲区,然后处理缓冲区,您可以sscanf使用fscanf

    < / LI>

注意:您在循环中执行此操作,直到fscanffgets无法再读取任何内容。您循环while (!feof(fp)),因为feof报告在读取失败后无法阅读

您将数据读入结构成员。我假设你有一个结构数组,我假设数组足以保存所有数据(动态分配将在你的课程中稍后进行)。

最后,您使用fclose关闭文件。