zoukankan      html  css  js  c++  java
  • fread读取文件(二进制文件)

     fread()是c库函数,利于移植,使用缓存,效率较read()高。

    原型:

    size_t  fread(void *buffer, size_t size, size_t count, FILE * stream);

    要注意的是它的返回值,如果读取到了文件尾,返回值小于count,可以使用feof()函数检测出来,返回真。

    PS:返回值代表的是某种类型的size的个数。

    下面程序按照1024k(一次大小为sizeof(char))一次读取二进制文件。

    #include <stdio.h>
    #include <string.h>
    
    
    #define BUFFSIZE 1024
    
    int main(int argc, char **argv){
    
        char buff[BUFFSIZE];
        FILE *fd = fopen (argv[1], "rb");
        int count, errno=0;
    
        bzero (buff, BUFFSIZE);
        while (!feof (fd)){
            count = fread (buff, sizeof (char), BUFFSIZE, fd);
            int n = feof (fd);
            printf ("%d,%d
    ", count, n);
            printf ("%s
    ",strerror (errno));
        }
        return 0;
    }
    种树最好的时间是十年前,其次是现在。
  • 相关阅读:
    近期目标
    HDU
    BZOJ
    UVALive
    UVA
    HNOI2004 宠物收养所 (平衡二叉树)
    UVA
    HDU
    POJ
    康托展开与逆康托展开模板(O(n^2)/O(nlogn))
  • 原文地址:https://www.cnblogs.com/bobojiang/p/7241061.html
Copyright © 2011-2022 走看看