我试图将每一行分别存储在一个字符串数组中。显然,当我尝试打印 array[0] 时,我得到的只是文本文件的最后一行。但是当我在while循环中打印变量“line”时,我可以打印文本文件中的每一行,但我似乎只能存储txt文件的最后一行。
这可能吗?或者这是getline的限制..?
int main()
{
FILE * fp;
char *line;
ssize_t read;
size_t bufsize = 32;
int i=0;
char **array;
array = malloc(bufsize * sizeof(char));
line = malloc(bufsize * sizeof(char));
fp = fopen("testing.txt", "r");
while ((getline(&line, &bufsize, fp)) != -1) {
printf("%s", line);
array[i] = line;
i++;
}
fclose(fp);
printf("%s", array[0]);
return 0;
}