C-从文本文件填充结构

C-从文本文件填充结构,c,structure,C,Structure,我有一个文本文件,里面有一些我想读的数字 我的文本文件如下所示 1 2 3 5 0 2 5 8 5 0 7 8 6 9 0 我想将此文本文件读入此结构: struct numbers num[] 1 2 3 5 0 我的结构定义如下: struct numbers { int totalnumbers; }; 这将首次进入结构: struct numbers num[] 1 2 3 5 0 第二次: 2 5 8 5 0

我有一个文本文件,里面有一些我想读的数字

我的文本文件如下所示

1  2  3  5  0

2  5  8  5  0

7  8  6  9  0
我想将此文本文件读入此结构:

struct numbers num[]
1  2  3  5  0
我的结构定义如下:

struct numbers {
       int totalnumbers;
};
这将首次进入结构:

struct numbers num[]
1  2  3  5  0
第二次:

2  5  8  5  0
以此类推,直到文件的末尾

非常感谢您的帮助。

您可以使用strok(输入“\n”),然后使用atoi()将您得到的字符串转换为数字。

我的建议是参考您的课程笔记/教科书并开始编写代码。
老实说,从这里的答案中选择一个完整的程序,你什么也学不到

  • 首先编写一个程序来打开文件并写入第一行 在控制台的文件中(提示
    fopen
    fgets
    …我想已经有一段时间了)
  • 然后放入一个循环,将每一行写入控制台
  • 然后找出如何将行拆分为单独的数字(提示
    strtok
  • 然后找出如何转换文件中的数字(如下所示): 字符串)到整数(提示首选
    strtol
    而不是
    atoi
  • 然后声明一个large数组并将数字粘贴到其中
编程就是分而治之,实际上就是一次解决一个小问题,直到大问题解决为止

希望这有帮助。

您可以对每个要读取的值使用scanf(“%i”)。 这有点危险,因为它很容易使程序崩溃,而且很难找出文件中有多少记录(如果文件中的第一个值告诉您包含有意义内容的行数,则可以避免后一个问题)


另一种可能是使用fgets()读取一行(而不是gets()),并使用strtok()或解析该行的自定义循环(不建议这样做,因为它写起来很乱,生成意大利面代码,并且容易受到bug的攻击)对其进行标记。

该结构是如何定义的?你尝试过什么?我到目前为止还没有尝试过任何东西:S,我是C语言的新手,正在寻求建议。我的结构有一个成员,它是totalnumbers。@Anders这没有任何意义。“你到底想做什么?”安德斯:我认为最好的建议是下面的二进制担忧者的答案。试着用他的提示想出一个可行的想法。如果我们只提供一个工作示例,对您没有多大帮助。提示:strtoul比atoi好得多,实际上没有理由使用atoi。@hlovdal:我的
C
知识已经过时了。哦,非常old@hlovdal:strtol优于strtoul,因为它支持neg。整数