如何将文本文件保存到数组中?

时间:2016-01-13 15:33:55

标签: c

这是我打印文本文件的方式

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。

如何将文本文件行保存到数组?

2 个答案:

答案 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。