c语言程序返回值总为0,c语言fread()返回总是0?

2ba35e1675b1ff1861f34ce6e62203a8.png

HUWWW

1、返回0通常是读到了文件尾。如果确认没有到文件尾,可以用ferror检查错误。if ( ferror ( fp ) ){printf("File read error.");}2、C语言中:fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。函数原型:size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;参数:buffer 用于接收数据的内存地址size 要读的每个数据项的字节数,单位是字节count 要读数据项的个数,每个数据项size个字节.stream 输入流的指针返回值:返回实际读取的元素个数。如果返回值与count不相同,则可能文件结尾或发生错误。从ferror和feof获取错误信息或检测是否到达文件结尾。实例:12345678910111213141516171819#include#includeint main(void){FILE*stream;char msg[]="this is a test";char buf[20];if((stream=fopen("DUMMY.FIL","w+"))==NULL){fprintf(stderr,"Cannot open outputfile.\n");return 0;}fwrite(msg,1,strlen(msg)+1,stream);fseek(stream,0,SEEK_SET);fread(buf,strlen(msg)+1,1,stream);printf("%s\n",buf);fclose(stream);return0;}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值