fread函数

收藏

查看我的收藏

719有用+1 已投票

4

fread

编辑 锁定

fread是一个函数。从一个文件流中读数据,最多读取count个项,每个项size个字节,如果调用成功返回实际读取到的项个数(小于或等于count),如果不成功或读到文件末尾返回 0。

中文名
外文名
fread
属    性
函数
参    数
buffer
函数原型
size_t fread
所属库
#include <stdio.h>

目录

  1. 1 简介
  2. ? 函数原型
  3. ? 参 数
  4. ? 返回值
  5. 2 程序例
  1. ? C语言
  2. ? MSDN示例
  3. ? PHP
  4. 3 PHP函数
  5. ? 说明
  6. ? 注意
  1. 4 MATLAB函数
  2. ? 功能:
  3. ? 语法:
  4. ? 例子:

fread简介

编辑

fread函数原型

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

fread参 数

buffer

用于接收数据的内存地址

size

要读的每个数据项的字节数,单位是字节

count

要读count个数据项,每个数据项size个字节.

stream

输入流

fread返回值

返回真实写入的项数,若大于count则意味着产生了错误。另外,产生错误后,文件位置指示器是无法确定的。若其他stream或buffer为空指针,或在unicode模式中写入的字节数为奇数,此函数设置errno为EINVAL以及返回0.

fread程序例

编辑

freadC语言

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

#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,"Can not 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;

}

freadMSDN示例

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

#include<stdio.h>

int main(void)

{

    FILE*stream;

    charlist[30];

    inti,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");

}

freadPHP

?


1

2

3

4

5

6

7

8

<?php

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

    $contents="";

    while(!feof($handle)){

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

    }

    fclose($handle);

?>

freadPHP函数

编辑

(PHP 4, PHP 5)

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

fread说明

stringfread( int handle, int length )

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

fread注意

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

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

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

freadMATLAB函数

编辑

fread功能:

fread函数可从文件中读取二进制数据

fread语法:

A = fread(fid, count)

A = fread(fid, count, precision)

其中fid为指针所指文件中的当前位置,count指读取的数据个数, precision表示以什么格式的数据类型读取数据。

fread例子:

fid = fopen(‘alphabet.txt‘, ‘r‘);
  c = fread(fid, 5)‘
  c =
  65 66 67 68 69
  fclose(fid);

程序说明:alphabet文件中按顺序存储着26个英文字母,读取文件之前要先打开文件,由于未指定读取数据的类型,所以程序指定默认类型为无符号字符型即uchar,65、66、67、68、69代表A、B、C、D、E,文件用完还要记得关闭文件,以便释放指针。

fid = fopen(‘alphabet.txt‘, ‘r‘);
  c = fread(fid, ‘*char‘)‘
  c =
  ABCDEFGHIJKLMNOPQRSTUVWXYZ
  fclose(fid);

程序说明:此程序未指定数据个数,而默认为全部数据,所以显示了文件中的所有数据。

时间: 2024-10-14 11:03:17

fread函数的相关文章

fscanf函数和fprintf函数、fgets函数和fputs函数、fread函数和fwrite函数

1. fscanf 函数和 fprintf 函数 1.1 fscanf 函数 fscanf 函数只能从文本文件中按格式输入.fscanf 函数和 scanf 函数相似,只是输入的对象是磁盘上文本文件的数据.函数的调用形式如下: fscanf( 文件指针,格式控制字符串,输入项表 ); 例如,若文件指针 fp 指向一个已打开的文本文件,a.b 分别为整型变量,则以下语句从 fp 所指的文件中读入两个整数放入变量 a 和 b 中: fscanf( fp, "%d%d", &a, &

【转】fread函数详解

"fread"以二进制形式,从文件读出数据.语法1:[a,count]=fread(fid,size,precision)语法2:[a,count]=fread(fid,size,precision,skip)size:    不指定     :到尾返回读.          N         : 读出N个数据,构成列向量.          inf       : 读出fid指向的打开的文件的全部数据.          [M,N]     : 读出N个数据,构成列向量,填入M*N

fopen()、fwrite()、fread()函数使用说明与示例

fopen()函数: 1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针. 2.函数原型: [cpp] view plain copy FILE * fopen(const char * path,const char * mode); -- path: 文件路径,如:"F:\Visual Stdio 2012\test.txt" -- mode: 文件打开方式,例如: "r" 以只读方式打开文件,该文件必须存在. "w&

C语言 fread函数

C语言 fread函数 fread fread函数:读取文件函数(从文件流读取数据) 头文件:#include<stdio.h> 函数原型: size_t fread(void * ptr, size_t size, size_t nmenb, FILE* stream); 函数说明:从文件流中读取数据,stream为已打开的文件指针,ptr指向欲保存读取文件数据的空间,size为从文件中读取字符的大小,nmenb为欲读取字符数,读取成功后fread会返回一个值等同于nmenb的数值,相反会返

open()、fwrite()、fread()函数使用说明与示例

fopen()函数: 1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针. 2.函数原型: FILE * fopen(const char * path,const char * mode); -- path: 文件路径,如:"F:\Visual Stdio 2012\test.txt" -- mode: 文件打开方式,例如: "r" 以只读方式打开文件,该文件必须存在. "w" 打开只写文件,若文件存在则文件长

fread函数和fwrite函数

1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(buffer,size,count,fp);   fwrite(buffer,size,count,fp); 3.说明   (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址.对fwrite来说,是要输出数据的地址.   (2)size:要读写的字节数(默认为1):   (3)count:要进行读写多少个size字节的数据项:    (4)fp:文件型指针. 注意:1 完成次写操(fwrite())作

php的fread函数的一个巨大的坑

先看看fread的manual,如下: http://php.net/manual/en/function.fread.php fread() reads up to length bytes from the file pointer referenced by handle. Reading stops as soon as one of the following conditions is met: length bytes have been read EOF (end of file

【转】fread函数和fwrite函数

1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(buffer,size,count,fp);   fwrite(buffer,size,count,fp); 3.说明   (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址.对fwrite来说,是要输出数据的地址.   (2)size:要读写的字节数:   (3)count:要进行读写多少个size字节的数据项:   (4)fp:文件型指针. 注意:1 完成次写操(fwrite())作后必须关闭流(

fread函数的应用

头文件:<cstdio/stdio.h> 作用:从一个文件流中读数据.最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0. 函数原型:size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) 解析: buffer:用于接受数据的内存地址 size:要读写的字节数,单位是字节 count:要进行读写多少个size字节的数据项,每个元素是size字节