网站大量收购闲置独家精品文档,联系QQ:2885784924

(精)17 文件基础.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件基础 第十七章 回顾 按地址传递 结构体指针 指针的指针 函数指针 动态内存分配与释放函数 目标 解释流和文件 讨论文本流和二进制流 掌握文件指针 熟练掌握各种文件函数 文件的打开和关闭 字符的读写 字符串的读写 二进制数据的读写 熟练掌握文件的检测函数 文件的概述 文件:是指存储在外部介质上一组相关联的数据的集合。是一个字符(字节)的序列,即由一个一个字符(字节) 的数据顺序组成 文件可以保存程序运行的结果 文件使程序操作大量数据成为可能 操作系统是以文件为单位对数据进行管理 广义上文件指任何设备,如磁盘文件、终端以及打印机,例如键盘为输入文件,显示器为输出文件 文件输入/输出 C 语言的 I/O 操作使用标准库(stdio.h)中的函数来实现 文件输入和输出的数据可以用内部的二进制表示法传输。把内存中的数据按其在内存中的存储形式原样输出到文件上。 文件输入和输出的数据也可以按文本格式传输。文件的每一个字节放一个ASCII代码,代表一个字符 缓冲文件系统:程序与外设通过内存缓冲区进行数据交换。 流 C 文件系统可以与各式各样的设备一起使用 缓冲文件系统可以将每个设备转换成逻辑设备,即所谓的流 由于所有的流工作方式类似 文件流是一系列独立的字节,没有任何标记用来指明文件的结束或记录的结束 文件的结束是由文件大小来决定的 有两种类型的流 文本流 二进制流 文本流 文本流是一系列字符,可以由许多行构成,每行由一个换行符终止 在文本流中,可以根据情况需要对某些字符进行转换 写(或读)的字符与外部设备上的字符可能不是一对一的关系 同样,由于可能发生转换,写(或读)的字符数可能与外部设备上的字符数不同 便于字符的处理和输出 二进制流 二进制流是一系列字节,并与外部设备上的字节一一对应 写(或读)的字节数与外部设备上的字节数一样 比文本节省存储空间 字符信息,数据的内部表示就是ASCII码表示,所以在文本文件和在二进制文件中保存的字符信息没有差别,但对于数值信息,数据的内部表示和ASCII码表示截然不同,所以在文本文件和在二进制文件中保存的数值信息也截然不同 文本与二进制的存储形式 文件的基本操作 通过执行打开操作,文件可以与流进行关联;通过执行关闭操作,可以断开关联 如果一个程序正常终止,所有文件都会自动关闭 一旦程序崩溃,文件会保持打开状态 读文件:将磁盘文件中的数据传送到计算机内存的操作,这时磁盘文件是输入设备 写文件:从计算机内存向磁盘文件中传送数据的操作。这时磁盘文件是输出设备 常用的文件函数 文件指针 文件指针是读写文件必需的 文件指针指向一个结构,该结构包含以下信息:文件名、文件的当前位置、文件是否正在读或写、是否出错或是否到达文件末尾 stdio.h 中定义了一个称为 FILE 的结构 文件指针所需的唯一声明为: FILE *fp ; 打开文本本件 功能说明:fopen() 函数打开一个流,并将其与一个文件关联起来 函数原型: FILE *fopen(const char *filename, const char *mode); 函数参数:文件名可以使用绝对或者相对路径 返回值:成功时返回与该文件关联的文件指针,否则返回NULL 关闭文本文件 功能说明:fclose函数用于关闭文件,可以释放系统资源,并且能降低超出允许打开的文件个数的风险,关闭流的同时也将清除所有相应的缓冲区 函数原型: 关闭所有文件 功能说明:fcloseall() 函数用于关闭所有打开的流 函数原型: 文件打开和关闭示例 #include stdio.h int main(){ FILE *fp = NULL; fp = fopen(C:\\tt\\a.txt,w); /*使用绝对路径*/ /*fp = fopen(a.txt,w);*/ /*使用相对路径*/ if (fp == NULL){ puts(File Open Fail!); return 0;/*exit(0);*/ } else puts(“file create success); if (fclose(fp) == EOF) { puts(File Close Fail!); } else { puts(“file close success); } return 0; } /* 问题:如果路径不存在将发生什么事情? */ 向文本文件中写入字符 功能说明: fputc()函数用于从以写模式打开的文件中写入单个字符;并增加文件位置指示器(文件指针向后移一字节) 函数原型: 从文本文件中读入字符 功能说明: fgetc() 函数用于从使用 fgetc() 以读模式打开的文件中读取字符;函数从输入流中当前位置返回下

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档