我需要知道,如何将stdin中的整数保存到数组中,由行中的第一个整数给出...... Ehm ...希望你明白。我会给你一个例子。将整数保存到第一个整数给出的数组中
标准输入我:
0 : [ 1, 2, 3 ]
5 : [ 10, 11, 12, 13]
6 : [ 2, 4, 9 ]
0 : [ 4, 9, 8 ]
5 : [ 9, 6, 7 ]
5 : [ 1 ]
我需要这些整数保存这样的数组:
0={1, 2, 3, 4, 9, 8}
5={10, 11, 12, 13, 9, 6, 7, 1}
6={2, 4, 9}
我绝对不如何做到这一点。有一个问题,数组的数量(在这种情况下 - 0,5,6 - 所以3个数组)可以非常高,我需要与内存有效地工作...所以我想我会需要像malloc
和free
解决这个问题,还是我错了?数组的名称(0,5,6)可以更改。括号中的整数数量没有最大限制。
谢谢你的帮助。
是的,使用'malloc'。继续尝试。 – kaylum
至少尝试一些东西,只要开始,然后上传你的代码,如果你有问题。 – Sniper
'fgets'来读取每一行。然后用某种解析代码来确定组号和项目。 'strtok'和'strtol'可以用于解析器,但是一个简单的'for'循环可能是相同数量的代码。对于内存管理,你需要'malloc'和'realloc'。后者是允许你的阵列增长的。最后,“免费”在最后。 – user3386109