当前位置

首页 > 商务英语 > 计算机英语 > c语言fread函数的用法

c语言fread函数的用法

推荐人: 来源: 阅读: 1.63W 次

C语言中:fRead是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。下面我们来看看c语言fread函数的用法。

c语言fread函数的用法

fread()函数---- Reads data from a stream.

#include<stdio.h>

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

从一个文件流中读数据,读取count个元素,每个元素size字节.如果调用成功返回count.如果调用成功则实际读取size*count字节

buffer的大小至少是 size*count 字节.

return:

fread returns the number of full items actually read

实际读取的元素数.如果返回值与count(不是count*size)不相同,则可能文件结尾或发生错误.

从ferror和feof获取错误信息或检测是否到达文件结尾.

DEMO:

[cpp] view plain#include <stdio.h>

#include <process.h>

#include <string.h>

int main()

{

FILE *stream;

char msg[]="this is a test";

char buf[20];

if ((stream=fopen("","w+"))==NULL)

{

fprintf(stderr,"cannot open output file.n");

return 1;

}

/*write some data to the file*/

fwrite(msg,1,strlen(msg)+1,stream);

/*seek to the beginning of the file*/

fseek(stream,0,SEEK_SET);

/*read the data and display it*/

fread(buf,1,strlen(msg)+1,stream);

printf("%sn",buf);

fclose(stream);

system("pause");

return 0;

}

DEMO2

[cpp] view plainint main(void)

{

FILE *stream;

char list[30];

int i,numread,numwritten;

/*open file in text mode:*/

if ((stream=fopen("","w+t"))!=NULL)

{

for (i=0;i<25;i++)

{

list[i]=(char)('z'-i);

}

/*write 25 characters to stram*/

numwritten=fwrite(list,sizeof(char),25,stream);

printf("Wrote %d itemsn",numwritten);

fclose(stream);

}

else

printf("Problem opening the filen");

if ((stream=fopen("","r+t"))!=NULL)

{

numread=fread(list,sizeof(char),25,stream);

printf("Number of items read =%dn",numread);

printf("Contents of buffer=%.25sn",list);

fclose(stream);

}

else

{

printf("File could not be openedn");

}

system("pause");

return 0;

}