我想知道如何正确读取文件并将每一行放在 C 中的数组字符串中。
我有一个文件,上面写着以下内容
one
two
three
four
我试着写这样的东西:
int read_file(FILE *fp){
char readLine[MAX_LEN];
char *myarray[20];
int counter =0;
int i =0;
while(fgets(readLine,MAX_LEN,fp) != NULL){
myarray[counter] = readLine;
counter++;
}
/*printing the array*/
while(i<counter){
printf("%d %s",i,myarray[i]);
i++;
}
}
主要是这样的
int main(){
FILE *fp;
fp = fopen("my.txt","r");
if(fp == NULL){
fprintf(stderr,"File does not exist");
return EXIT_FAILURE;
}
read_file(fp);
}
但是,在打印时我得到:
four
four
four
four
即使我使用 打印printf("%s",myarr[2])
,我仍然得到four
任何人都知道问题可能是什么?