这是我打印文本文件的方式
FILE *file;
char array[200];
file = fopen("test.txt", "r");
fread(array,1, 200, file);
printf("\n%s", array);
fclose(file);
相反,我想将文本文件行保存到数组中,以便我可以用数组打印出文本文件。
我只能使用那些fopen,fprintf,fwrite,fscanf,fread,fseek,fclose。不是fget。
如何将文本文件行保存到数组?
答案 0 :(得分:1)
使用fscanf
,您可以读取文件中的数据并将其存储在2-d char
数组中。像这样的东西 -
char array[20][200]; // array to hold data in file
int i=0;
file = fopen("test.txt", "r");
if(file==NULL){ // error in opening file
//handle it
}
while(fscanf(file,"%199[^\n]%*c",array[i])==1){
// handle your data
i++; // increment index
}
答案 1 :(得分:0)
您还可以执行mmap
,然后使用反映文件内容的内存。在这种情况下,不需要明确的“加载”。 Man mmap。