从文件中读取行并将其放入字符串数组中

use*_*276 1 c arrays string multidimensional-array

我想做的是能够从文件中读取一行并将其粘贴到字符串数组中。这是我到目前为止所拥有的,但似乎不起作用。

...
char line [128];
char file [10][128];

plist = fopen("plist1.txt", "r");

while(fgets(line, sizeof line, plist) != NULL){
   file[i][0]= line;
   i++;
}
Run Code Online (Sandbox Code Playgroud)

我尝试这样做file[i][0] = *line;,并且能够打印出每行的第一个字符。这是做我想做的事情的最好方法吗?

另外,文本文件中的行数会有所不同,因此我希望数组的长度可变,而不是 10。

编辑:我尝试了下面列出的两种解决方案。两者都给我带来了处理 strcpy 或 fgets 的分段错误。

1.  while (fgets(file[i], sizeof(file[i]), plist))
       i++;

2.  while (fgets(line, sizeof(line), plist)){
       strcpy(file[i], line);
       i++;
    }
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 5

尝试这个:

while (fgets(file[i], sizeof(file[i]), plist))
    i++;
Run Code Online (Sandbox Code Playgroud)

或者

while (fgets(line, sizeof(line), plist))
    strcpy(file[i], line);
Run Code Online (Sandbox Code Playgroud)