C语言数据文件操作

第十一章 文件 11.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区 11.2 文件类型指针 文件结构体FILE 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的名为FILE的结构体描述 FILE定义在stdio.h中 文件类型指针 指针变量说明: FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 11.3 文件的打开与关闭 C文件操作用库函数实现,包含在stdio.h 文件使用方式:打开文件-->文件读/写-->关闭文件 系统自动打开和关闭三个标准文件: 标准输入------键盘 stdin 标准输出------显示器 stdout 标准出错输出-----显示器 stderr 打开文件fopen 函数原型: FILE *fopen(char *name,char *mode) 文件关闭fclose 作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针 函数原型:int fclose(FILE *fp) 11.4 文件的读写 字符I/O:fputc与fgetc fputc 函数原型:int fputc(char c, FILE *fp) 功能:把字符c写入fp指向的文件中 返值:正常,返回c;出错,为EOF 数据块I/O:fread与fwrite 函数原型: 格式化I/O:fprintf与fscanf 函数格式: 11.5 文件的定位 几个概念 文件位置指针-----指向当前读写位置的指针 读写方式 顺序读写:位置指针按字节位置顺序移动,叫~ 随机读写:位置指针按需要移动到任意位置,叫~ rewind函数 函数原型: void rewind(FILE *fp) 功能:重置文件位置指针到文件开头 返值:无 fseek函数 函数原型: int fseek(FILE *fp,long offset,int whence) 功能:改变文件位置指针的位置 返值:成功,返回0;失败,返回非0值 11.6 出错的检测 ferror函数 函数原型: int ferror(FILE *fp) 功能:测试文件是否出现错误 返值:未出错,0;出错,非0 说明 每次调用文件输入输出函数,均产生一个新的ferror函数值,所以应及时测试 fopen打开文件时,ferror函数初值自动置为0 clearerr函数 函数原型: void clearerr(FILE *fp) 功能:使文件错误标志置为0 返值:无 说明:出错后,错误标志一直保留,直到对同一文件调clearerr(fp)或rewind或任何其它一个输入输出函数 考试算法 11、将一个字符串倒序输出 12、将一个字符串大写转小写字母,小写转大写字母 13、求一个字符串的长度 14、连接两个字符串 15、求对角线之和 考试算法 1、求一维数组最大值和下标 2、求二维数组最大值 3、求一维数组中偶数或奇数的和 4、求一维数组的数据的平均值 5、将一维数组中的素数存入一数组中,并输出 6、求一组数中素数的个数 7、求一组数中的素数和 8、求最大公约数与最小公倍数 9、求阶乘、组合数Cmn 10、求字符串中字母、数字、空格、指定字母的个数 使用数据文件的目的 1、数据文件的改动不引起程序的改动——程序与数据分离 2、不同程序可以访问同一数据文件中的数据——数据共享 3、能长期保存程序运行的中间数据或结果数据 文件分类 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) 按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 如 int型数10000 0010011100010000 内存存储形式 0010011100010000 二进制形式 0011000100110000001100000011000000110000 ASCII形式 文本文件特点: 存储量大、速度慢、便于对字符操作 二进制文件特点: 存储量小、速度快、便于存放中间结果 磁盘文件 输出文件缓冲区 输入文件缓冲区 程序数据区 a 缓冲文件系统: 缓冲区 指令区

c语言数据文件是,C语言数据文件操作.ppt相关推荐

  1. c mysql如何获取照片_MYSQL数据库存取图片等文件(C语言)

    直接把文件放入数据库中比较适合小文件,方便管理,比如头像图片和声音,如果是较大型的文件建议不要直接存进数据库,而是放在服务器,把文件索引放在数据库. MYSQL 中有个数据对象是 BLOB,即 Bin ...

  2. 【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 追加键值对数据 | 更新键值对数据 )

    文章目录 一.追加键值对数据 二.更新键值对数据 三.完整代码示例 一.追加键值对数据 在上一篇博客 [C 语言]文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取 ...

  3. 《数据科学:R语言实现》——2.5 使用Excel文件

    本节书摘来自华章计算机<数据科学:R语言实现>一书中的第2章,第2.5节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  4. c语言向指定文件写入程序,C语言同时向不同的文件写入不同的数据

    C语言同时向不同的文件写入不同的数据 这个我写了好久才写出来的,之前不知道是什么原因总是不能同时一起写,而且写完一个程序就死了,后来在网上查到一篇文章 http://blog.csdn.net/fei ...

  5. python与r语言处理excel数据_R语言 | 读写txt、csv、excel文件

    前段时间看到plotnine库(封装的R语言ggplot2)作的图太美了,有点想重新拾起R语言^_^ R语言代码略带凌乱,讲真的还是更喜欢Python代码简洁.不过好几年不琢磨R语言,对R语言代码的凌 ...

  6. 【C语言进阶】你真的懂数据文件吗?一文带你了解什么是数据文件

    前言: 通过前面的学习,我们已经熟练掌握C语言个语法原理与使用,而今天这篇文章我们将要学习文件操作,来帮助我们更好的处理程序目标要求. 一.文件概述: 1.为什么使用文件: 我们前面学习结构体时,写了 ...

  7. python语言可以处理数据文件吗_Python语言读取Marc后处理文件基础知识.pdf

    Python语言读取Marc后处理文件基础知识 基于 python 的焊接后处理 知识要点:  Python 语言  Python 模块功能  PyPost 后处理模块  PyPost 模块函 ...

  8. c语言实现文件数据删除视频,如何用c语言实现删除文件中指定的数据;例如

    匿名用户 1级 2012-05-21 回答 你的描述不清晰,B1和B2两个结构数组,到底要删除哪个?B[2]是肯定不对的,这两个数组的长度都是2,下标只能是0和1,即B1[0], B1[1], B2[ ...

  9. c语言中用文件处理数据,C语言文件处理 -C语言从文件中读写格式化数据

    从图 1 所示的文件 fin.txt 中读取学生姓名.身高和体重,计算并显示它们的平均值,并且将显示结果保存到文件 fout.txt 中. 图 1:输入输出文件示例 C语言代码清单 1:读取学生姓名. ...

最新文章

  1. Java map 知识
  2. code Gym 100500D T-shirts(暴力)
  3. spring boot参数为日期的查询
  4. linux 后台程序 cout输入到文件,istringstream在读文件时候的应用
  5. matlab 电路频率响应_学习电子电路有什么仿真软件?有哪些优缺点?
  6. Linux 命令行中的文件名/文件路径中使用通配符的说明
  7. 暑假集训-个人赛第六场
  8. 题目1512:用两个栈实现队列
  9. 安装MPICH并运行第一行代码
  10. 查看Casio PDA 的物理地址 MAC (DT-X7系列)
  11. UART write过程分析
  12. echart曲线图的使用
  13. Ps 初学者教程「68」如何创建海报?
  14. 申请高德地图开发key
  15. win10升级助手_关闭win10系统更新
  16. Android 显示文字超过指定长度部分使用省略号表示
  17. VBA和VBScript的AES加密算法
  18. 系统线性、时不变、因果判断
  19. (翻译)链接需要鼠标悬停效果的原因
  20. 2019 拼多多校招第三题sum 服务端研发工程师

热门文章

  1. EPICS AI记录
  2. 7 Papers Radios | SIGGRAPH 2020最佳博士论文;南开等提出新型自校准卷积
  3. gamemaker学习笔记:截屏
  4. 燕大计算机研究生毕业待遇,研究生人均“月薪上万”是真是假,过来人坦言:想想就好,别认真...
  5. 云计算与大数据平台课堂作业
  6. 阿拉伯数字转化为大写汉字
  7. 北斗通讯协议4.0 java_北斗4.0协议讲解.doc
  8. CAD网页Web端显示开发为什么要以WebGIS的思路来开发?
  9. 用HTML+js实现求圆的面积和周长
  10. 强大的达梦数据库图形界面工具