文件读写与二维数组动态内存的分配与二维数组的输出

#include
#include
int main()
{
FILE *fp;
fp=fopen("D:\breast.txt","r"); // 判断文件是否打开成功
if(fp==NULL)
{
printf("can not open the in file\n");
return -1;

}

 int **arr = (int **)malloc(n*sizeof(int *));//为二维数据动态分配内存
 for(int i=0;i<n;i++)
 { 
     arr[i] = (int *)malloc(m*sizeof(int));
 }

 for(int i = 0; i < n; i ++)
for(int j = 0; j < m; j ++)//读取breast.txt,放在arr[20][20]中
    fscanf(fp,"%d",arr[i]+j);
  for (int row=0; row<n; row++)
{
    //输出当前行的元素
    for (int col=0; col<m; col++)//输出二维数组arr[20][20]
        printf("%d", arr[row][col]);

    //换行
    printf("\n");
}

}//代码大部分是在网上找的
假如我的breast里面是20*20个整数两位数带逗号
12,34,56,78,90,90,78,56,34,12 12,34,56,78,90,90,78,56,34,12
12,34,56,78,90,90,78,56,34,12 12,34,56,78,90,90,78,56,34,12
12,34,56,78,90,90,78,56,34,12 12,34,56,78,90,90,78,56,34,12
……
……
我做了好久(哭),我就是想把那些数据整齐的正确的放在二维数组中,然后使用里面的数据…
求助……

没人帮我吗?图片说明