如何将数组的内容写入文件
#include <stdio.h>
#include <stdlib.h>
#define a 10
int main()
{
int A[a]={0,1,2,3,4,5,6,7,8,9};
FILE *p;
char strin[25];
p=fopen("hello.txt","w");
int i;
for(i=0;i<10;i++)
{
itoa(A[i],strin,10);
printf("%s",strin);
fwrite(A+i,strlen(strin),1,p);
}
return 0;
}
请问我这个打开文件模式对不对,还有我写入文件的内容乱码了
[解决办法]
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define a 10
int main()
{
int A[a]={0,1,2,3,4,5,6,7,8,9};
FILE *p;
char strin[25];
p=fopen("hello.txt","w");
int i;
for(i=0;i<10;i++)
{
printf("%d",A[i]);
fprintf(p,"%d",*(A + i));
}
fclose(p);
return 0;
}
[解决办法]
你写入的是2进制数据
把整形数据转换为字符串再写入
fwrite(A+i,strlen(strin),1,p);
//改为:
fwrite(strin,strlen(strin),1,p);