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)
尝试这个:
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)