在程序中,我提示用户打开他想要的文件。然后我将文件的内容动态分配到二维数组中。然后在一个单独的函数中,我应该将文件的内容打印到屏幕上。当我运行它时,我没有收到任何错误,但是文件的内容并没有像我想要的那样打印到屏幕上。如何将文件的内容打印到屏幕上?我是否正确地将其内容动态分配到数组中?
文件的格式是这样的
1 0 0 0
0 0 0 1
1 1 1 1
这是我的代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FILE *get_grid(int ar[3][4]);
FILE *display_grid(int ar[3][4], FILE *fp);
int main()
{
FILE *fp;
char **ptr;
int ar[3][4];
fp = get_grid(ar);
display_grid(ar, fp);
}//main ()
FILE *get_grid(int ar[3][4])
{
FILE *fp;
int i;
char file[80];
char **ptr;
printf("File name: ");
scanf("%s", file);
fp = fopen(file, "r");
ptr = (char **)malloc(3 * sizeof(char *));
for(i = 0; i < 3; i++)
ptr[i] = (char *)malloc(3 * sizeof(char *));
return fp;
}//get grid
FILE *display_grid(int ar[3][4], FILE *fp)
{
fprintf(fp, "%s", ar);
}//display grid