c语言fread是什么意思(C语言中fread和fcanf从文件读取数据的区别)

本文目录
C语言中fread和fcanf从文件读取数据的区别
fread是以整体作为单位进行读取,一般是一次读取一个结构体大小的块;
fscanf是格式化的读取;读取的都是基本类型数据,所以对于一个结构体,一次需要按照类型分别读取其中的元素;
另外,对于文件末尾判定;fcanf是以EOF作为判定,
fread使用feof函数判定。
C语言 fread(buf,size,count,fp)
buf表示存放读入一个数据的地址指针;size表示读出的字节数;count表示读出数据项的个数;fp表示文件型指针。
例如:fread(f,4,2,fp);
其中,f是一个实型数组名,在内存中占4个字节。该语句功能是从fp所指向的文件中读入两个4字节的数据到f中。
c语言fread()返回总是0
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获取错误信息或检测是否到达文件结尾。
实例:
#include《stdio.h》
#include《string.h》
int main(void)
{
FILE*stream;
char msg="this is a test";
char buf;
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;
}

更多文章:
revised version(求谢尔盖·普罗科菲耶夫 C大调钢琴奏鸣曲 作品编号135之5曲目介绍!!!)
2026年1月26日 03:00
layout动画(三维动画中角色动画LAYOUT之后,关键帧调完这个过程叫什么)
2025年7月19日 19:45
oracle递归(oracle递归查询的问题,如何查询出现机构和其属下所有机构)
2026年8月22日 05:15
字符常量和字符串常量有什么区别(字符型常量和字符串常量的用法是什么区别)
2025年10月21日 18:30
周杰伦新专辑先行曲(周杰伦新专辑《最伟大的作品》先行曲MV上线,MV里都邂逅了哪些艺术家)
2025年11月26日 21:15
用javascript写表单代码(如何通过javascript脚本在一个HTML页面上创建一个表格,并且能对表格内容进行编辑)
2025年7月23日 21:30
html中无序列表怎么空格(html怎么把无序列表的文字变成一行)
2026年1月29日 20:00
sqlserver怎么连接(怎么连接sqlserver数据库)
2026年2月12日 00:30
千图网的素材可商用吗?在免费素材网站(千图网)下载的素材用到公司的宣传单张之类的东西上算侵权吗
2025年12月7日 19:15
selected腰带(5元到5000元,男士皮带这么选准没错)
2026年8月24日 13:00
consecutive和constant(constantly,consecutive 不同)
2026年6月5日 00:15
normalstartup什么意思(电脑tointerruptnormalstartup)
2026年8月6日 20:45










