打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
fread

fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。从ferror和feof获取错误信息或检测是否到达文件结尾.当从网络流或者管道读取时,例如在读取从远程文件或 popen()以及 proc_open()的返回时,读取会在一个包可用之后停止。其中fid为指针所指文件中的当前位置,count指读取的数据个数, precision表示以什么格式的数据类型读取数据。

基本信息

  • 中文名:
  • 外文名:fread
  • 属性:函数
  • 参数:buffer
  • 函数原型:size_t fread
  • 所属库:#include

简介

函数原型

size_t

fread( void

* buffer , size_t

size , size_t

count , FILE

* stream );

功 能:

从一个文件流中读数据,读取 count个元素 ,每个元素 size字节.如果调用成功返回 值大于count。如不成功,返回实际读取的元素个数,小于count.

参数

buffer

用于接收数据的内存地址,大小至少是 size* count字节.

size

单个元素的大小,单位是字节

count

元素的个数,每个元素是size字节.

stream

输入流

返回值

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

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

程序例

#include

#include

int main(void)

{

FILE *stream;

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

char buf;

if ( (stream = fopen('DUMMY.FIL', 'w+')) == NULL) {

fprintf(stderr,'Cannot open output file.\n');

return 0;

} /* write some data to the file */

fwrite(msg, 1,strlen(msg)+1, stream); /* sizeof(char)=1 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('%s\n', buf);

fclose(stream);

return 0;

}

MSDN示例

#include

void main( void )

{

FILE *stream;

char list;

int i, numread, numwritten; /* Open file in text mode: */

if( (stream = fopen( 'fread.out', 'w+t' )) != NULL )

{

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

list[i] = (char)('z' - i); /* Write 25 characters to stream */

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

printf( 'Wrote %d items\n', numwritten );

fclose( stream );

}

else

printf( 'Problem opening the file\n' );

if( (stream = fopen( 'fread.out', 'r+t' )) != NULL )

{ /* Attempt to read in 25 characters */

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

printf( 'Number of items read = %d\n', numread );

printf( 'Contents of buffer = %.25s\n', list );

fclose( stream );

}

else

printf( 'File could not be opened\n' );

}

PHP

$handle = fopen ('test.txt', 'rb');

$contents = '';

while (!feof($handle)) {

$contents .= fread($handle, 8192);

}

fclose($handle);

>

PHP函数

(PHP 4, PHP 5)

fread -- 读取文件(可安全用于二进制文件)

说明

string fread( int handle, int length )

fread()从文件指针handle读取最多 length 个字节。 该函数在读取完 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。

注意

在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,fopen() 函数的 mode 参数要加上 'b'。

当从网络流或者管道读取时,例如在读取从远程文件或 popen()以及 proc_open()的返回时,读取会在一个包可用之后停止。这意味着你应该如下例所示将数据收集起来合并成大块。

程序示例

$handle = fopen ('test.txt', 'rb');

$contents = '';

while (!feof($handle)) {

$contents .= fread($handle, 8192);

}

fclose($handle);

>

注:如果你只是想将一个文件的内容读入到一个字符串中,用 file_get_contents(),它的性能比上面的代码好得多。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
有关fwrite语句的用法
C语言文件操作函数大全
Linux(C/C++)下的文件操作open、fopen与freopen
c语言中文件的操作
第十三章 文 件
C语言——文件操作详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服