fread

size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
  • 函数返回读取数据的个数。如果调用成功返回实际读取到的项个数(小于或等于count),如果不成功或读到文件末尾返回 0。
bufferStorage location for data   //数据的存储位置sizeItem size in bytes   //数据类型的大小(字节)countMaximum number of items to be read  //数据的个数streamPointer to FILE structure  //要读的文件
#include <stdio.h>
#include <stdlib.h>
int main()
{FILE * fp = NULL;int buffer[10] = {0};if ((fp = fopen("E:\\ceshi.txt", "r")) == NULL)  //文件自己创建{printf("cant open the file");exit(0);}while (1){int count = fread(buffer, sizeof(char), sizeof(buffer), fp);if (count <= 0)break;printf("%s\n", buffer);}system("pause");
}

fwrite

  • 他的功能和fread刚好相反,一个从文件中读出来,一个把数据写进去。
  • 功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。
size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
bufferPointer to data to be written  //指向要写的数据sizeItem size in bytes   //数据类型的大小countMaximum number of items to be written  //要写的数据个数streamPointer to FILE structure  //要写的文件
  • 说明:写入到文件的哪里? 这个与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。
#include <stdio.h>void main(void)
{FILE *stream;char list[30];int  i, numread, numwritten;/* Open file in text mode: */if ((stream = fopen("E:\\ceshi.txt", "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);}elseprintf("Problem opening the file\n");if ((stream = fopen("E:\\ceshi.txt", "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);}elseprintf("File could not be opened\n");system("pause");
}

参考MSDN的。有问题还请大家指出。

C语言 “fread” 和 “fwrite”的简单介绍相关推荐

  1. c语言fwrite作用,C语言fread和fwrite的用法详解(以数据块的形式读写文件)

    fgets() 有局限性,每次最多只能从文件中读取一行内容,因为 fgets() 遇到换行符就结束读取.如果希望读取多行内容,需要使用 fread() 函数:相应地写入函数为 fwrite(). 对于 ...

  2. C语言fread和fwrite的用法详解

    fgets() 有局限性,每次最多只能从文件中读取一行内容,因为 fgets() 遇到换行符就结束读取.如果希望读取多行内容,需要使用 fread() 函数:相应地写入函数为 fwrite(). Wi ...

  3. fwrite函数Matlab,fread和fwrite函数,C语言fread和fwrite函数详解

    对文件格式化读写函数 fprintf 与 fscanf 而言,尽管它可以从磁盘文件中读写任何类型的文件,即读写的文件类型可以是文本文件.二进制文件,也可以是其他形式的文件.但是,对二进制文件的读写来说 ...

  4. c语言 json 请求_JSON的简单介绍以及C语言的JSON库使用

    JSON概述 JSON: JavaScript 对象表示法( JavaScript Object Notation) .是一种轻量级的数据交换格式. 它基于ECMAScript的一个子集. JSON采 ...

  5. C语言 fread()与fwrite()函数说明与示例

    1.作用 读写文件数据块. 2.函数原型 (1)size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); 其中,pt ...

  6. C语言——函数和数组的简单介绍

    本人声明:小编是一个刚学c语言不久的小白,想要写博客来加深对知识的理解,如果有写得不对或者不好的地方请各位大佬多多指教! 目录 (1)函数的概念 (2)函数的定义 (3)函数的调用 (4)使用函数和不 ...

  7. R语言与数据分析:时间序列简单介绍

    1. https://blog.csdn.net/howardge/article/details/41979119 接下来我们来分解时间序列,时间序列分为:非季节性数据和季节性数据 一个非季节性时间 ...

  8. c语言数据块写入函数,C语言数据块读写函数:fread和fwrite

    在前面曾经介绍过C语言中的各种读写函数,首先是最简单的读写一个字符的函数fputc和fgetc,在这个基础上又出现了putw和getw.fgets和fputs,此外还说过格式化读写函数fprintf和 ...

  9. HDFS简单介绍及用C语言訪问HDFS接口操作实践

    一.概述 近年来,大数据技术如火如荼,怎样存储海量数据也成了当今的热点和难点问题,而HDFS分布式文件系统作为Hadoop项目的分布式存储基础,也为HBASE提供数据持久化功能,它在大数据项目中有很广 ...

  10. c 语言重载参数类型不同重载和,C++基础学习之函数重载的简单介绍

    前言 我们在平时写代码中会用到几个函数但是他们的实现功能相同,但是有些细节却不同.例如:交换两个数的值其中包括(int, float,char,double)这些个类型.在C语言中我们是利用不同的函数 ...

最新文章

  1. scanf 接收 空格 输入_【C语言】- printf 和scanf 函数详解!
  2. 使用opencv简单的播放AVI程序(40行)
  3. web前端页面——移动端简单登录页面、下拉菜单(代码详细注释)
  4. 【操作系统】内存的分页管理与分段管理の异同
  5. OllyDbg笔记-初识PE文件(nag窗口破解)
  6. Sphinx/Coreseek 4.1 跑 buildconf.sh 一个错误,无法生成configure档
  7. loj 6083.「美团 CodeM 资格赛」数码
  8. 基于Starling移动项目开发准备工作
  9. org.springframework.stereotype
  10. RHCE盘点(5)—— 打印机
  11. 二值图像数字水印技术的实现
  12. 计算机恢复语言文件格式,txt文件乱码怎么恢复正常
  13. 【数据挖掘】2022数据挖掘之Matplotlib完整使用(折线图、散点图、柱状图、直方图、饼图)
  14. Matlab中filter.m和filtfilt.m函数C语言实现
  15. Linux设备模型分析之kobject
  16. 华山全敏还是全劲_一梦江湖华山加点_一梦江湖华山加点推荐2020_攻略
  17. 用通俗的话解释下offsetHeight
  18. solar在linux系统下的部署过程
  19. Chart.js使用教程,画折线图实例
  20. 中国人太空行走的一天

热门文章

  1. 主成分分析法怎么提取图片中的字_视频图像的MATLAB处理(2)两种主成分分析方法...
  2. vue 多个回调_vue中多层组件间参数的传递、子孙组件回调父组件执行结果
  3. linux进程间通信练习:对于text.txt文件,子进程将字符串“something communication”写入text.txt,父进程读取text.txt文件内容并打印。
  4. java jmf for mac 安装_Mac版-Jdk安装与环境配置
  5. 05. Django基础:请求和响应
  6. Cesium:去除原生自带绿色选择框
  7. Python:eval函数
  8. 实战爬虫:python爬虫学习笔记之爬取大前端网站
  9. 深度学习与硬件GPU,软件框架关系及相关概念解析
  10. 一文看懂 9 种Transformer结构!