fread()函数语法要点
在ANSI标准的IO操作中提供了三种不同类型的IO处理函数,包括字符读/写、行读/写和块读/写。如果使用的缓冲区的话,不需要每次进行标准IO操作时都使用系统IO调用,至于什么时候使用系统IO调用则根据缓冲区类型和缓冲区中的数据量决定。
块读写文件流是指每次读出与写入的数据量可以由编程人员设定,ANSI标准的块读出函数声明如下:
SYNOPSIS
#include
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
DESCRIPTION
The function fread() reads nmemb elements of data, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr.
此函数将从第4个参数所指示的流中读取nmenb个大小为size的对象存放在第一个参数ptr所指向的内存空间中。其第一个参数为读取的对象的存放位置;第二个参数为读取对象的大小,例如读出一个结构体buf,该参数可以设置为sizeof(struct buf);第三个参数为读取对象的个数;第四个参数为读取的文件流指针。
该函数的返回值为读取到对象的个数(注意:不是读取到字节的个数),如果返回值比参数3小,则表示可能读取到了文件的尾部,这时可以使用feof或者ferror函数来检测原因。
程序实例:
运行结果:
Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5,京公海网安备11010802025203号