c语言文件操作摘要

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

c语言计算文件摘要值,c语言文件操作摘要.ppt相关推荐

  1. c语言 return两个值,c语言return能不能有2个以上返回值

    c语言return能不能有2个以上返回值 c语言return能不能有2个返回值 比如说return(a,b) 更新时间:2019-05-18 06:19 最满意答案 不是,要想返回2个以上返回值,建议 ...

  2. C语言计算表达式咋写,C语言如何计算表达式(x++)+(++x)+(x++)

    满意答案 wqnn2980 2013.06.17 采纳率:51%    等级:12 已帮助:6027人 我原来在别的贴回答过这样的问题, 这里再发一次, 如果你没看明白中间的, 你就记住开头和结尾就行 ...

  3. 计算分式的值(C语言版)

    今天分享一个简单小程序-计算分式1/1-1/2+--1/100的值 int main() {int i;int flag = 1;double k,sum=0;for (i = 1; i <= ...

  4. c语言写程序计算表达式的值,C语言 写的 表达式求值。

    有不对的地方还望指出来,让我改正.谢谢.存一个代码 #include #include #include #include #define Stack_Size 1010 #define INF 21 ...

  5. c语言计算个人成绩平均分,C语言 | 计算总平均分及第n个人的成绩

    例32:有一个班,3个学生,各学习4门课,C语言编程实现计算总平均分数以及第n个学生的成绩,要求使用指针. 解题思路:今天这道例题分为3部分,下述求的是第3个学生,读者请思考怎么改为求第n个学生. 第 ...

  6. c语言计算二次函数顶点坐标,C语言编写一个求一元二次方程的实根的程序。 编辑一个小程序去做一元二次方程的求解(b^24ac)...

    导航:网站首页 > C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二次方程的求解(b^2>4ac) C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二 ...

  7. c语言子函数返回值,C语言函数说明与返回值

    在学习C语言函数以前,我们需要了解什么是模块化程序设计方法. 人们在求解一个复杂问题时,通常采用的是逐步分解.分而治之的方法,也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解.程序员在 ...

  8. r语言 c 函数返回值,R语言入门 输出函数 cat、print、paste等区别理解

    一. 简介 cat.print函数都是输出函数 > cat("hello world") hello world >> print("hello wor ...

  9. C语言计算数字乘积根,c语言,求任意一个整数各位数字之积

    点击查看c语言,求任意一个整数各位数字之积具体信息 答:求整数各位和,将整数各个位分离出来的方法(除10取模)很常用. 函数如下 int intsum(int n) { int sum = 0; wh ...

最新文章

  1. 区别:电感、磁珠和零欧电阻的作用
  2. Eclipse中配置约束
  3. T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响...
  4. arduino出现java错误_arduino在上传的时候出现这样的错误,在线求助大神!!!
  5. 多线程学习-基础(四)常用函数说明:sleep-join-yield
  6. 笔记 - Ali Cloud 块存储简介
  7. 【POJ - 1942 】Paths on a Grid (组合数学,求组合数的无数种方法)
  8. (王道408考研操作系统)第三章内存管理-第一节6-1:非连续分配管理方式之基本分页存储管理
  9. Python错误,pip安装包或更新时因超时而报错误
  10. php狼和兔子算法,PHP基于递归算法解决兔子生兔子问题php技巧
  11. 利用Ninject实现依赖注入
  12. flex布局 占满_果冻公开课第九课:打破传统布局方式的flex(上)
  13. rapidminer decision tree(决策树)手册
  14. Hcse 交换知识点-1
  15. GPS地图坐标转百度地图坐标
  16. 王小川告别搜狗那一天
  17. jquery判断是否按下Enter(回车)和TAB键
  18. 大数据之Hive函数及案例
  19. unity塔防游戏怪物转向_萌宠打怪物游戏下载-萌宠打怪物最新安卓版下载
  20. Oracle全球裁员潮:云计算成趋势?

热门文章

  1. jenkins~集群分发功能的具体实现
  2. CLR运行时细节 - Method Descriptor
  3. 微软AirSim,一个无人机和机器人的模拟器
  4. python 图像识别pytesseract快速设置
  5. Android之靠谱的把图片和视频插入手机系统相册
  6. Android之提示java.lang.RuntimeException: Parcel: unable to marshal value Image问题
  7. Android Studio之查找当前类的位置图标没了
  8. 我的世界java版forge怎么用_我的世界电脑版MOD怎么用 我的世界pc版forge怎么安装...
  9. 当代年轻人,都有些不成文的规定?
  10. 10个遥远但近在人间的天堂...