fwrite()和fread()

转载 2007年09月13日 11:16:00
 

函数功能  用来读写一个数据块。

一般调用形式

  fread(buffer,size,count,fp);

  fwrite(buffer,size,count,fp);

  (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。

  (2)size:要读写的字节数;

  (3)count:要进行读写多少个size字节的数据项;

  (4)fp:文件型指针。

 注意:

    1 完成次写操(fwrite())作后必须关闭流(fclose());

    2 完成一次读操作(fread())后,如果没有关闭流(fclose()),则指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流继续下一次读操作则接着上次的输出继续输出;

    3 fprintf() : 按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...]);其用法和printf()相同,不过不是写到控制台,而是写到流罢了。注意的是返回值为此次操作写入到文件的字节数。如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) ;str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。

#include <stdio.h>
#include <stdlib.h>

void main()
{
  int a=123456789; 

  FILE* fp;
  fp=fopen("a.txt","wb+");        

 if(fp==0){puts("error");exit(0);}
  fwrite(&a,sizeof(int),1,fp);
  fwrite(&a,sizeof(int),1,stdout);
  fclose(fp);
}

fwrite只输出二进制流,忠实的输出给它的数据。在例子里,给fwrite的是4个字节,fwrite就忠实地把这四个字节分别写到了文件、标准输出里。至于看到的,只不过是终端、记事本的显示方式而已。如果愿意,可以用16进制去看它们。123456789(10)=75bcd15(16)所以写的时候就是写了15,cd,5b,07(字节序). 

fread函数和fwrite函数的应用

  • 2010年03月25日 21:07
  • 605B
  • 下载

二进制文件和文本文件究竟有什么区别?(内附小实验和C语言中fwrite fread fprintf fscanf函数的用法)

先来做两个个小小的实验:       实验一:       首先,用鼠标右键新建一个文本文档,取名去test.txt, 在里面写一个0, 然后关闭.       然后,用UltraEdit打开t...
  • stpeace
  • stpeace
  • 2012年11月03日 10:34
  • 2159

C语言fread和fwrite

  • 2013年04月16日 22:44
  • 208KB
  • 下载

c语言fwrite和fread连续读写文件流

c语言fwrite和fread连续读写文件流本例程的编写是基于windows,编译器用的是gnu下的gcc: 头文件stdio.h和stdlib.h 读写函数是fwrite和fread 文件指针移动函...

C++ 文件读写函数之——fopen、fread和fwrite

C++文件读写 fopen fread fwrite

fread/fwrite第二个参数和第三个参数的区别以及与返回值的关系

两者是块读写的方式,第二个参数是单个块的大小,第三个参数是块的个数,返回值是实际读写的块的个数,而不是字节数。 如果将第三个参数设为1,那么如果fread读到的字节数小于第二个参数,则fre...

Linux下文件的相关操作(fopen、fwrite、fread、fseek、ftell)

1、FILE *fopen(char *path,*mode); mode: r:  读打开, 不创建 w: 写打开,创建/清空 a: 写打开, 创建/追加 r+: 读/写打开,不创建 w+:读...

c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数

由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找.     在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: ...

系统调用read,write和标准库fread,fwrite的区别

read,write属于Linux系统调用,fread,fwrite属于C语言标准库 使用系统调用会影响系统的性能。与函数调用相比,系统调用的开销要大些,因为在执行系统调用时,Linux必须从运...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:fwrite()和fread()
举报原因:
原因补充:

(最多只允许输入30个字)