C语言stdio头文件(stdio.h)中fread函数的用法及代码示例。
用法:
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
从流中读取数据块
流的位置指示符以读取的字节总数超前。
如果成功读取的字节总数为(size*count)。
参数
返回值
返回成功读取的元素总数。如果此数字与数数参数,发生读取错误或文件结束在阅读时已到达。在这两种情况下,都设置了正确的指示器,可以使用ferror和feof, 分别。
如果有尺寸或者数数为零,该函数返回零,并且流状态和所指向的内容ptr维持不变。
size_t是无符号整数类型。
示例
/* fread example: read an entire file */
#include <stdio.h>
#include <stdlib.h>
int main () {
FILE * pFile;
long lSize;
char * buffer;
size_t result;
pFile = fopen ( "myfile.bin" , "rb" );
if (pFile==NULL) {fputs ("File error",stderr); exit (1);}
// obtain file size:
fseek (pFile , 0 , SEEK_END);
lSize = ftell (pFile);
rewind (pFile);
// allocate memory to contain the whole file:
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL) {fputs ("Memory error",stderr); exit (2);}
// copy the file into the buffer:
result = fread (buffer,1,lSize,pFile);
if (result != lSize) {fputs ("Reading error",stderr); exit (3);}
/* the whole file is now loaded in the memory buffer. */
// terminate
fclose (pFile);
free (buffer);
return 0;
}
此代码加载myfile.bin放入动态分配的内存缓冲区,该缓冲区可用于将文件内容作为数组进行操作。
相关用法
- C语言 remove用法及代码示例
- C语言 rename用法及代码示例
- C语言 tmpfile用法及代码示例
- C语言 tmpnam用法及代码示例
- C语言 fclose用法及代码示例
- C语言 fflush用法及代码示例
- C语言 fopen用法及代码示例
- C语言 freopen用法及代码示例
- C语言 setbuf用法及代码示例
- C语言 setvbuf用法及代码示例
- C语言 fprintf用法及代码示例
- C语言 fscanf用法及代码示例
- C语言 printf用法及代码示例
- C语言 scanf用法及代码示例
- C语言 snprintf用法及代码示例
- C语言 sprintf用法及代码示例
- C语言 sscanf用法及代码示例
- C语言 vfprintf用法及代码示例
- C语言 vfscanf用法及代码示例
- C语言 vprintf用法及代码示例
- C语言 vscanf用法及代码示例
- C语言 vsnprintf用法及代码示例
- C语言 vsprintf用法及代码示例
- C语言 vsscanf用法及代码示例
- C语言 fgetc用法及代码示例
- C语言 fgets用法及代码示例
- C语言 fputc用法及代码示例
- C语言 fputs用法及代码示例
- C语言 getc用法及代码示例
- C语言 getchar用法及代码示例
- C语言 gets用法及代码示例
- C语言 putc用法及代码示例
- C语言 putchar用法及代码示例
- C语言 puts用法及代码示例
- C语言 ungetc用法及代码示例
- C语言 fwrite用法及代码示例
- C语言 fgetpos用法及代码示例
- C语言 fseek用法及代码示例
- C语言 fsetpos用法及代码示例
- C语言 ftell用法及代码示例
- C语言 rewind用法及代码示例
- C语言 clearerr用法及代码示例
- C语言 feof用法及代码示例
- C语言 ferror用法及代码示例
- C语言 perror用法及代码示例
注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C fread function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。