C语言fread函数怎么用啊?为什么我写出来输出数据不对,

如题所述

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[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;
}
温馨提示:答案为网友推荐,仅供参考
相似回答