プログラムでは、ユーザーに必要なファイルを開くように求めます。次に、ファイルの内容を 2D 配列に動的に割り当てます。次に、別の関数で、ファイルの内容を画面に出力することになっています。これを実行してもエラーは発生しませんが、ファイルの内容が意図したとおりに画面に出力されません。ファイルの内容を画面に出力するにはどうすればよいですか? その内容を配列に正しく動的に割り当てましたか?
ファイルのフォーマットはこんな感じ
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