往文件中写整数再读取到数组里的问题

dongliang_nuaa 2008-10-14 10:05:43

#include <stdio.h>

void main()
{
FILE *fp;
int a[10],b[10];
int i;
fp=fopen("a.txt","w");
for(i=0;i<10;i++)
{
a[i]=i;
fprintf(fp,"%d ",a[i]);
}

//fp=fopen("a.txt","r");
for(i=0;i<10;i++)
fscanf(fp,"%d ",&b[i]);
for(i=0;i<10;i++)
printf("%d ",b[i]);
fclose(fp);
}

程序原意是先往a.txt文件里写0到9的数字,然后再从文件里读取出来到数组b并打印,但是程序结果却不对,求教。
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
之巅 2008-10-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 dongliang_nuaa 的帖子:]
C/C++ code
#include <stdio.h>

void main()
{
FILE *fp;
int a[10],b[10];
int i;
fp=fopen("a.txt","w");
for(i=0;i<10;i++)
{
a[i]=i;
fprintf(fp,"%d ",a[i]);
}

//fp=fopen("a.txt","r");
for(i=0;i<10;i++)
fscanf(fp,"%d ",&b[i]);
for(i=0;i<10;i++)
printf("%d ",b[i]);
fclose(fp);
}…
[/Quote]

如果不想重新打开文件的话,可以加上fseek(fp, SEEK_SET); 并且前一次打开时得用读写权限"w+"等
迷途的书童 2008-10-14
  • 打赏
  • 举报
回复
楼上的不错!
wuyu637 2008-10-14
  • 打赏
  • 举报
回复
#include <stdio.h>

void main()
{
FILE *fp;
int a[10],b[10];
int i;
fp=fopen("a.txt","w");
for(i=0;i<10;i++)
{
a[i]=i;
fprintf(fp,"%d ",a[i]);
}
fclose(fp);--------------------------》加上这个,文件句柄用完了要关闭
fp=fopen("a.txt","r");
for(i=0;i<10;i++)
fscanf(fp,"%d ",&b[i]);
for(i=0;i<10;i++)
printf("%d ",b[i]);
fclose(fp);
}

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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