C++中读取txt文本中的数字,其中,txt文本中的数字每行一个,目的是将这些数字存入一个数组中。

2025-03-29 07:26:44
推荐回答(2个)
回答1:

不知道你要处理的文本规模怎样,我就假定有足够内存可以一次读入了。
这个问题的关键就是怎么给数字数组分配大小。因为数字每行一个,所以文本中的换行符数量就是数字数(如果结尾也有换行符的话)。
我个人的方案是:首先,分配字符数组一次读取文本。然后,遍历字符数组,每遇到换行符就打上指针标记。遍历完成后,效果相当于在字符数组的换行符上”插上“了很多指针。这些指针用链表结构相连,当然此时链表大小已经得到了,链表大小即为要分配的数字数组大小。最后,分配数字数组内存,再遍历一次指针链表,用strncpy读取数字文本转换成int存入数组即可。

回答2:

定义了文件流fr流之后就用fr>>a[i];读,然后判断fr是不是EOF