我正在尝试读取文件,并使用指针将字符串保存在数组中,但是我遇到了问题。有人可以给我建议做什么吗?
// not allowed to change these two rows
char **Lines;
Lines = (char**)malloc(sizeof(char*)*maxLines);
...
FILE *fp;
fp = fopen(fileName, "r"); // fileName already exists here
int i=0, j=0;
while(i<maxLines){
Lines[i] = (char*)malloc(maxLength * sizeof(char));
i++;
}
// No string will be longer than "maxLenght" so no buffer is used.
while(fgets(Lines[j] , maxLength, (FILE*) fp) != NULL || i < maxLines)
{
j++
}
我想用文件中的每个字符串填充“行”。我不断出现细分错误。谢谢!
在您的第二个while循环中替换“ ||”与“ &&”。
在这种情况下,即使达到最大线之后,循环仍继续执行。