如何将数组的内容写入文件

wanghb1989 2013-07-23 02:37:31
#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;

}

请问我这个打开文件模式对不对,还有我写入文件的内容乱码了
...全文
123 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjwangmin 2013-07-23
  • 打赏
  • 举报
回复
#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]);
    }

    return 0;

Qiong-k 2013-07-23
  • 打赏
  • 举报
回复
你写入的是2进制数据 把整形数据转换为字符串再写入 fwrite(A+i,strlen(strin),1,p); //改为: fwrite(strin,strlen(strin),1,p);
图灵狗 2013-07-23
  • 打赏
  • 举报
回复

#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;
 
}

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧