免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 9308 | 回复: 45
打印 上一主题 下一主题

我的程序里边,为什么fwrite没有把数据写到文件里边啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-28 10:59 |只看该作者 |倒序浏览
#include <stdio.h>;
#include "err_exit.h"


struct record{
  int uid;
  char login[9];
};

char *logins[]={"user1","user2","user3","user4","user5"};

void putrec(FILE *fp,int i,struct record *r)
{
  fseek(fp,(long)i*sizeof(struct record),0);
  fwrite((char *)r,sizeof(struct record),1,fp);
}

int main(void)
{
  int i;
  FILE *fp;
  struct record rec;
  
  if ((fp = fopen("datafile","w")==NULL)
     err_exit("datafile";
     
   for(i=4;i>;=0;i--)
      {
         rec.uid=i;
         strcpy(rec.login,logins);
         putrec(fp,i,&rec);
       }
       fclose(fp);
       exit(0);
}


执行该程序后datafile文件是空的啊

论坛徽章:
0
2 [报告]
发表于 2004-04-28 11:15 |只看该作者

我的程序里边,为什么fwrite没有把数据写到文件里边啊?

whyglinux帮忙看一下啊,谢谢

论坛徽章:
0
3 [报告]
发表于 2004-04-28 11:18 |只看该作者

我的程序里边,为什么fwrite没有把数据写到文件里边啊?

fwrite()返回码

论坛徽章:
0
4 [报告]
发表于 2004-04-28 11:25 |只看该作者

我的程序里边,为什么fwrite没有把数据写到文件里边啊?

程序没有问题

论坛徽章:
0
5 [报告]
发表于 2004-04-28 11:26 |只看该作者

我的程序里边,为什么fwrite没有把数据写到文件里边啊?

楼上的意思是说要看fwrite()返回什么内容吗?
zkyguanl 该用户已被删除
6 [报告]
发表于 2004-04-28 11:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2004-04-28 11:32 |只看该作者

我的程序里边,为什么fwrite没有把数据写到文件里边啊?

b是binary吧,还是不行啊
是不是系统兼容的问题,我的系统是solaris9
zkyguanl 该用户已被删除
8 [报告]
发表于 2004-04-28 11:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2004-04-28 11:43 |只看该作者

我的程序里边,为什么fwrite没有把数据写到文件里边啊?

就象前面 飞灰橙 告诉你的,原来的程序没有问题。你说datafile文件是空的,有什么根据没有?检查一下文件的大小不就知道了。在我这里它的大小为 80 字节。

论坛徽章:
0
10 [报告]
发表于 2004-04-28 12:26 |只看该作者

我的程序里边,为什么fwrite没有把数据写到文件里边啊?

仔细检查一下吧,极可能是人为原因。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP