c语言 fwrite出现的乱码
我的程序如下:#include<stdio.h>voidcreat(inta[10][10],intn){inti,j;for(i=1;i<=n;i++){for(j=1...
我的程序如下:#include<stdio.h>
void creat(int a[10][10],int n)
{
int i,j;
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
a[i-1][j-1]=1+4*(i-1)+2*(j-1);
}
for(i=0;i<=n-1;i++)
{ printf("\n");
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
}
}
void main()
{ int m;
int a[10][10];
scanf("%d",&m);
creat(a,m);
FILE *fp=fopen("d:\\test3-2.dat","w+");
fwrite(a,sizeof(int),1,fp);
fclose(fp);
}
编译运行都是正确的 可打开test3-2时老出现乱码 咋回事喃?各位帮帮忙,俺第一次上百度提问,还没有积分 小女子先谢过了 展开
void creat(int a[10][10],int n)
{
int i,j;
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
a[i-1][j-1]=1+4*(i-1)+2*(j-1);
}
for(i=0;i<=n-1;i++)
{ printf("\n");
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
}
}
void main()
{ int m;
int a[10][10];
scanf("%d",&m);
creat(a,m);
FILE *fp=fopen("d:\\test3-2.dat","w+");
fwrite(a,sizeof(int),1,fp);
fclose(fp);
}
编译运行都是正确的 可打开test3-2时老出现乱码 咋回事喃?各位帮帮忙,俺第一次上百度提问,还没有积分 小女子先谢过了 展开
2个回答
2009-04-18
展开全部
在MSDN中fwrite的解释是Writes data to a stream.你写入的是int型的数组,以二进制存放在文件中,当你用文本文档打开的时候是当作字符串识别的,看到的就成了乱码。
若你想看到写入的数字,可用fprintf,这样是以字符串写入
若你想看到写入的数字,可用fprintf,这样是以字符串写入
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询