基本上我想从文本文件中扫描“字符串”,然后将它们传递给另一个方法(做数组的东西)。 我目前使用的方法,但由于我不知道潜在输入的大小,我必须为任何大小的字符串分配一个荒谬的内存量(重复这个免费和分配过程,直到那里不再需要阅读的项目) 对我已经拥有的东西有更有说服力的解决方案吗?
int main(void) {
char *item;
item = emalloc(100000 * sizeof *item);
flexarray my_flexarray = flexarray_new();
while (1 == scanf("%s",item)) {
flexarray_append(my_flexarray, item);
free(item);
item = emalloc(100000 * sizeof *item);
}
free(item);
flexarray_print(my_flexarray);
flexarray_free(my_flexarray);
return EXIT_SUCCESS;
}