#include<stdio.h>
#define SIZE 3
int main()
{
FILE *fp;
int a[SIZE][SIZE],b[SIZE][SIZE],i,j,k;
if((fp=fopen(".\\matrix1.txt","r"))==NULL)
{
printf("error\n");
// exit(0);
}
for(i=0;i<SIZE;i++)
{
fread(a[i],sizeof(a[i]),1,fp);
for(j=0;j<SIZE;j++)
printf("%d ",a[i][j]);
printf("\n");
}
fclose(fp);
for(i=0;i<SIZE;i++)
for(j=0;j<SIZE;j++)
b[i][j]=a[j][i];
if((fp=fopen(".\\matrix2.txt","w"))==NULL)
{
printf("error\n");
// exit(0);
}
for(i=0;i<SIZE;i++)
{
fwrite(b[i],sizeof(b[i]),1,fp);
for(j=0;j<SIZE;j++)
printf("%d ",b[i][j]);
printf("\n");
}
fclose(fp);
return 0;
}
小疑问
本代码虽然实现屏幕输出为矩阵,但文本文件中似乎并不是矩阵形式。
fread和fwrite如何每次循环都使文本中标记换行?