【发布时间】:2022-01-07 21:37:56
【问题描述】:
我编写了一个程序来读取整数并判断它是否更大。我已经用一个数组完成了它并用一些数字对其进行了初始化(作为程序是否有效的测试)。现在我必须从一个包含很多整数的文件中读取它,但我不知道文件的长度。如果不知道长度,如何确定数组的大小?
【问题讨论】:
-
如果这是Advent of Code,我的是2000行。
-
您可以提前查看文件,或者故意过度分配,例如为 50000 腾出空间。
-
或者您可以只记住循环中的最后一个数字,而不是读取并存储整个数组 - 您只需将当前数字与最后一个数字进行比较,因此您只需存储那个数字最后一个数字。
-
您不需要数组来确定最大数。首先编写一个程序,从文件中读取 one 整数,然后循环直到 eof。如果它太慢,那么你会考虑缓冲,但当你使用 fopen() 时你不太需要。