从标准输入读取任意数量的行

时间:2013-11-05 05:17:37

标签: c file-handling

对于一个类项目,我必须读取一个文件并将其内容存储在要排序的数组中。一个好处是文件将通过标准输入传输,但唯一的问题是我不能假设文件没有增长:我必须检查EOF。我如何使用malloc()和realloc()来做到这一点?

1 个答案:

答案 0 :(得分:1)

这是一种方法:使用malloc分配具有合理默认大小(如4096)的字符数组。开始从标准输入中读取字符到数组中,直到获得EOF。每当数组填满时,调用realloc使数组的大小加倍。