c - 如何将文件中的所有数字读取到数组中?

标签 c arrays

如果我有一个文件,其中充满了整数元素,但元素的数量未知。我也不知道元素的上限。

那么如何将所有数据读入数组并打印出元素数量呢?

假设所有元素都用逗号分隔,即元素存储为

1, 2, 2, 5, 12, 11....

我搜到了这篇文章:它有元素的上限。

我遇到的想法是使用接受的答案中的代码,首先计算有多少元素,然后设置数组的大小。这个可以吗?您有更好的解决方案吗?

最佳答案

执行此操作的唯一方法是首先解析文件以计算元素数量,然后分配数组,然后再次解析文件以实际读取数字。

或者,您可以从初始大小开始,如果它太小则重新分配。当到达文件结尾时,最后重新分配的数组可能未完全填充。然后,您可以按照用户 Zan Lynx 的建议,将数组重新分配到其最终大小,并删除末尾未使用的元素。

关于c - 如何将文件中的所有数字读取到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298304/

相关文章:

c - 将 100MHz 计数器转换为毫秒的定点数学

javascript - 接受一组数字并返回一个新的数组的函数,其中最小的 # 在索引 0 中,最大的 # 在索引 1 中

c - 通过递增指针直到分配的内存末尾来将数据存储在 char 缓冲区中

c - ^ 和 ! 的意义C语言中的运算符

c - 为什么最小可能整数的否定会产生自身?

c - 使用 gcc 优化 -mavx 失败?

php - 如何在子数组中搜索值并了解该子数组的键索引

javascript - 返回与另一个对象数组的属性匹配的对象数组的子集

c - 读取 PPM 格式图像

javascript - 为什么我的集合组查询没有结果?