fwrite() 是C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。

语法:

fwrite(buffer,size,count,fp)

参数:

buffer是准备输出的数据块的起始地址

size是每个数据块的字节数

count用来指定每写一次或输出的数据块

fp为文件指针。

函数返回写入数据的个数。

注意

(1)写操作fwrite()后必须关闭流fclose()。

(2)不关闭流的情况下,每次读或写数据后,文件指针都会指向下一个待写或者读数据位置的指针。

读写常用类型

(1)写int数据到文件

#include

#include

int main ()

{

FILE * pFile;

int buffer[] = {1, 2, 3, 4};

if((pFile = fopen ("myfile.txt", "wb"))==NULL)

{

printf("cant open the file");

exit(0);

}

//可以写多个连续的数据(这里一次写4个)

fwrite (buffer , sizeof(int), 4, pFile);

fclose (pFile);

return 0;

}

(2)读取int数据

#include

#include

int main () {

FILE * fp;

int buffer[4];

if((fp=fopen("myfile.txt","rb"))==NULL)

{

printf("cant open the file");

exit(0);

}

if(fread(buffer,sizeof(int),4,fp)!=4)   //可以一次读取

{

printf("file read error\n");

exit(0);

}

for(int i=0;i<4;i )

printf("%d\n",buffer[i]);

return 0;

}

执行结果:

5.读写结构体数据

(1)写结构体数据到文件

#include

#include

#include

typedef struct{

int age;

char name[30];

}people;

int main ()

{

FILE * pFile;

int i;

people per[3];

per[0].age=20;strcpy(per[0].name,"li");

per[1].age=18;strcpy(per[1].name,"wang");

per[2].age=21;strcpy(per[2].name,"zhang");

if((pFile = fopen ("myfile.txt", "wb"))==NULL)

{

printf("cant open the file");

exit(0);

}

for(i=0;i<3;i )

{

if(fwrite(&per[i],sizeof(people),1,pFile)!=1)

printf("file write error\n");

}

fclose (pFile);

return 0;

}

(2)读结构体数据

#include

#include

#include

typedef struct{

int age;

char name[30];

}people;

int main () {

FILE * fp;

people per;

if((fp=fopen("myfile.txt","rb"))==NULL)

{

printf("cant open the file");

exit(0);

}

while(fread(&per,sizeof(people),1,fp)==1)   //如果读到数据,就显示;否则退出

{

printf("%d %s\n",per.age,per.name);

}

return 0;

}

执行结果:

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

fwrite函数的一般调用形式是什么?相关推荐

  1. c语言fwrite函数结构体,fwrite函数的一般调用形式是什么?

    fwrite函数的一般调用形式是"fwrite(buffer,size,count,fp);":其中,buffer是准备输出的数据块的起始地址,size是每个数据块的字节数,cou ...

  2. c语言函数fread的调用形式,C语言的问题,fread和fgets的区别是什么?

    fgets函数用来从文件中读入字符串.fgets函数的调用形式如下:fgets(str,n,fp):此处,fp是文件指针:str是存放在字符串的起始地址:n是一个int类型变量.函数的功能是从fp所指 ...

  3. Swift2.0语言教程之函数嵌套调用形式

    Swift2.0语言教程之函数嵌套调用形式 Swift2.0语言函数嵌套调用形式 在Swift中,在函数中还可以调用函数,从而形成嵌套调用.嵌套调用的形式往往有两种:一种是在一个函数中调用其他函数:另 ...

  4. java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...

    # with open(r'a.txt', 'r', encoding='utf-8')as f: # data1=f.read() # print('>1>:',data1) # pri ...

  5. fread和fwrite函数功能

    fread和fwrite函数功能   用来读写一个数据块. 一般调用形式   fread(buffer,size,count,fp);   fwrite(buffer,size,count,fp); ...

  6. fread函数和fwrite函数,read,write

    fread函数和fwrite函数 1.函数功能 用来读写一个数据块. 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp ...

  7. fread和fwrite函数

    http://www.cnblogs.com/witxjp/archive/2011/03/21/1990519.html 1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(b ...

  8. fread函数和fwrite函数的用法

    fread函数和fwrite函数 1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(buffer,size,count,fp);   fwrite(buffer,size,co ...

  9. C++中fread函数和fwrite函数的用法

    1.函数功能 用来读写一个数据块. 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 3.说明 (1)buffer ...

最新文章

  1. 实现大规模图计算的算法思路
  2. shell脚本调试工具 bashdb
  3. T-Sql 实现类似访问数组变量的操作
  4. 动态规划 dp02 最长非降子序列问题 c代码
  5. 假设检验 Hypothesis testing
  6. 花木兰到底好看不,我用Python爬取了几万条评论!
  7. Detail when click Custom fields tile in s4
  8. eclipse 创建 maven web 项目教程
  9. 世界各国1960年到2020年gdp数据抓取
  10. 苹果屏幕镜像_苹果自带的屏幕镜像还能这样用,一秒小屏变大屏,网友:钱没白花...
  11. go reflect详解
  12. 夜光带你走进Bootstrap(2)
  13. 考研数学-三角函数与反三角函数图像
  14. 线性回归分析——高尔顿数据集更正版
  15. 联想 ideapad Y430 安装XP
  16. 顶点缓冲区与着色器 (The Cherno + LeranOpenGL)笔记
  17. java验证11位手机号_JAVA怎样用数组实现输入手机号码为11位
  18. php artisan命令表,php artisan 命令列表
  19. matlab 与VS混合编程的几个问题
  20. DQN、DDQN、DPG、DDPG、Dueling QN

热门文章

  1. 如何使用Hibernate将PostgreSQL枚举映射到JPA实体属性
  2. 为特使建立控制平面的指南-识别组件
  3. hadoop emr_在Amazon EMR上运行Hadoop MapReduce作业
  4. Java 10:将流收集到不可修改的集合中
  5. 端到端BPM(带有DMN标记)
  6. Java性能教程– Java 8流有多快?
  7. java虚拟内存扩展_Java 8虚拟扩展方法
  8. 使用API​​密钥(aka身份验证令牌)部署到Maven Central
  9. 使用IntelliJ书签
  10. Java 8将默认使用传输级别安全性(TLS)1.2