c语言文件fwrite,C语言中的文件写函数fwrite的问题,如何解决?

本文详细介绍了fwrite函数用于将数据写入文件流的方法,包括参数解释和使用范例,同时对比了其与fread函数从文件读取数据的过程。通过实例演示了如何使用这两个函数进行文件操作,并讨论了可能遇到的问题和错误处理。
摘要由CSDN通过智能技术生成

3070c2dae7a4f7b31a77d77b137b7c05.png

fwrite(将数据写至文件流)

相关函数  fopen,fread,fseek,fscanf

表头文件  #include

定义函数  size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);

函数说明  fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr 指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。

返回值  返回实际写入的nmemb数目。

范例  #include

#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}

#define nmemb 3

struct test

{

char name[20];

int size;

}s[nmemb];

main()

{

FILE * stream;

set_s(0,”Linux!”);

set_s(1,”FreeBSD!”);

set_s(2,”Windows2000.”);

stream=fopen(“/tmp/fwrite”,”w”);

fwrite(s,sizeof(struct test),nmemb,stream);

fclose(stream);

}

执行  参考fread()。

fread(从文件流读取数据)

相关函数  fopen,fwrite,fseek,fscanf

表头文件  #include

定义函数  size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream);

函数说明  fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr 指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb 来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。

返回值  返回实际读取到的nmemb数目。

附加说明

范例  #include

#define nmemb 3

struct test

{

char name[20];

int size;

}s[nmemb];

main()

{

FILE * stream;

int i;

stream = fopen(“/tmp/fwrite”,”r”);

fread(s,sizeof(struct test),nmemb,stream);

fclose(stream);

for(i=0;i

printf(“name[%d]=%-20s:size[%d]=%d\n”,i,s[i].name,i,s[i].size);

}

执行  name[0]=Linux! size[0]=6

name[1]=FreeBSD! size[1]=8

name[2]=Windows2000 size[2]=11

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值