C语言fwrite 的乱码问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 10:22:16
这个程序建立的txt文件打开是乱码,如何解决啊?谢谢
#include"stdio.h"
#include"stdlib.h"
main()
{
FILE *fp;
int a[10];
int i;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
if((fp=fopen("float.txt","a+"))==NULL)
{printf("can not open float.dat\n");
exit(0);
}
if(fwrite(a,sizeof(int),10,fp)!=10)
printf("file error\n");
fclose(fp);
}

if(fwrite(a,sizeof(int),10,fp)!=10)
printf("file error\n");

int a[10]; ?
float a[10];
scanf("%f",&a[i]); -- float

改为
for(i=0;i<10;i++) fprintf(fp,"%f ",a[i]);

fwrite -- 用于写2进制文件。
fprintf -- 用于写ASCII wenjian

#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *fp;
int data[10], i;

if((fp = fopen("float.txt","a+")) == NULL)
{
printf("can not open float.dat\n");
getch();
return 0;
}

for(i = 0; i < 10; i++)
{
scanf("%f", &data[i]);
fprintf(fp, "%f ", data[i]);
}

fclose(fp);
getch();
return 0;
}