C fread

fread是一个函数。从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功返回
0。

函数原型

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


buffer

用于接收数据的内存地址

size

要读写的字节数,单位是字节

count

要进行读写多少个size字节的数据项,每个元素是size字节.

stream

输入流

返回值

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

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

例子1

#include<stdio.h>

#include<string.h>

intmain(void)

{

  FILE*
stream;

  charmsg[]="thisisatest";

  charbuf[20];

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

  fprintf(stderr,"Cannotopenoutputfile.\n");

  return0;

}

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

fseek(stream,0,SEEK_SET);

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

printf("%s\n",buf);

fclose(stream);

return0;

}

例子2

#include<stdio.h>

intmain(void)

{

  FILE*
stream;

  charlist[30];

  inti,numread,numwritten;/*Openfileintextmode:*/

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

  {

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

list[i]=(char)(‘z‘-i); /*Write25characterstostream*/

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

printf("Wrote%ditems\n",numwritten);

fclose(stream);

}

else

  printf("Problemopeningthefile\n");

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

{

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

printf("Numberofitemsread=%d\n",numread);

printf("Contentsofbuffer=%.25s\n",list);

fclose(stream);

}

else

printf("Filecouldnotbeopened\n");

}

C fread,布布扣,bubuko.com

时间: 2024-08-28 12:00:37

C fread的相关文章

文件流:&quot;fopen&quot;,&quot;fclose&quot;,“ftell”&quot;fseek&quot;,&quot;fgets&quot;,&quot;fprintf&quot; ,“feof”,&quot;fwrite&quot;,&quot;fread&quot;

char const* filename="D:/hello.txt"; "fopen", FILE *fp=fopen(char const *name,char const mode); e.g:FILE *fp = fopen(filename,"wb"); 打开文件流,name为要打开文件的路径,如这里的filename:mode 为对文件的操作模式,通常使用:"wb"(写操作),"rb"(读操作)

fread(),fwrite() 读/写流

C 库函数 - fread() 描述 C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 stream 读取数据到 ptr 所指向的数组中. 声明 下面是 fread() 函数的声明. size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 参数 ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针.

Linux C 文件操作 -- 系统调用(open(),read()...) 和 标准I/O库(fopen(),fread()...)

一.什么是文件 在讲述文件操作之前,我们首先要知道什么是文件.看到这个问题你可能会感觉到可笑,因为对于用过计算机的人来说,文件是最简单不过的概念了,例如一个文本是一个文件,一个work文档是一个文件等.但是在Linux中,文件的概念还远不止于这些,在Linux中,一切(或几乎一切)都是文件.文件包括很多的内容,例如:大家知道的普通文件是文件,目录也是一个文件,设备也是一个文件,管道也是一个文件等等.对于目录.设备这些的操作也可以完全等同于对纯文本文件的操作,这也是Linux非常成功的特性之一吧.

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、fwrite函数使用读写

环境:vs2013 语言:C语言 时间:2015年3月10日 功能:实现二进制文件的读写实例 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #define FILENAME "d:/studentInfo" #define COUNT 5 typedef struct { char name[10]; short Math; short Chinese; short

8.5 文件IO fgets fputs fgetc fwrite fread

fopen函数mode模式: w+不是追加写 是多了一个读权限 文件指针+1没有意义 拷贝一个文件: fgets     fputs   (fgetc同理) int main() { FILE *fp, *fpcp; fp = fopen("yesteday_once_more.txt", "r"); fpcp = fopen("a", "w"); char buf[1024]; //一行给他1024个字节 尽量够用 whil

用fread和fwrite实现文件复制操作

#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char **argv) { FILE *fp_src,*fp_des; char buf[128]; int num; if(argc!=3) { printf("the format must be: cp_example file_src file_des\n"); exit(EXIT_FAI

fread

快速读入? 不知道 反正只是贴过来的 以后或许会用到? #define FI(n) FastIO::read(n) namespace FastIO { const int SIZE = 1 << 16; char buf[SIZE], obuf[SIZE], str[60]; int bi = SIZE, bn = SIZE, opt; int read(char *s) { while (bn) { for (; bi < bn && buf[bi] <= '

【dijkstra】【次短路】【fread】hdu6181 Two Paths

题意:给你一张简单无向图,问你1到n的次短路.注意,可以不是简单路径. 存个次短路板子,原理还是挺简单,直接看代码吧.然后这份代码还是个fread的示例用法. #include<cstdio> #include<queue> #include<algorithm> #include<cstring> using namespace std; const int BUF=60000000; char Buf[BUF],*buf=Buf; inline void

fread和fwrite同时对一个文件读写

这几天看到了fopen的参数设置.中文的那些真的是不能帮助精确理解.在网上发现了英文的,特附上: FILE *fopen(const char *filename, const char *mode)fopen opens the named file, and returns a stream, or NULL if the attempt fails. Legal values for mode include:"r"open text file for reading"