我如何使用双指针填充文本文件中的字符串数组?

问题描述 投票:-1回答:1

我正在尝试读取文件,并使用指针将字符串保存在数组中,但是我遇到了问题。有人可以给我建议做什么吗?

// 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++
}

我想用文件中的每个字符串填充“行”。我不断出现细分错误。谢谢!

c pointers readfile double-pointer
1个回答
0
投票

在您的第二个while循环中替换“ ||”与“ &&”。

在这种情况下,即使达到最大线之后,循环仍继续执行。

© www.soinside.com 2019 - 2024. All rights reserved.