电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机培训 文件

37页
  • 卖家[上传人]:小****
  • 文档编号:141385760
  • 上传时间:2020-08-07
  • 文档格式:PPT
  • 文档大小:1.95MB
  • / 37 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第12章:文 件,学习的意义,C语言执行程序,输入数据,存在问题:运行完毕, 结果消失!,运行结果能否长期保存呢?,使用文件!,文件无处不在,切不可视而不见,时而不理!,如:C语言源程序文件(.c或.cpp)、执行文件(.exe)、图片文件(.jpg),学习目标,学习内容,文件的基本概念 文件的类别 文件操作概述 文件指针 文件的打开、读写和关闭 文件的打开与关闭 文件的读写 文件读写函数选用原则 文件的定位读写 文件应用综合举例 本章小结,理解文件的概念 正确把握文本文件与二进制文件的区别; 掌握文件的打开、读写、定位以及关闭的方法; 掌握文件系统中有关文件操作的系统函数使用方法; 能设计对文件进行简单处理的实用程序;,12.1 文件的基本概念,文件:存储在外部介质上数据的集合,是操作系统数据管理的单位。,使用数据文件的目的: 数据文件的改动不引起程序的改动程序与数据分离 不同程序可以访问同一数据文件中的数据数据共享 能长期保存程序运行的中间数据或结果数据,文件命名规则: 为标识一个文件,每个文件都必须有一个文件名,其一般结构为:主文件名.扩展名 文件命名规则,遵循操作系统的约定。例

      2、如,一个C语言源程序名为:prg.c,12.2 文件的类别,按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) 按文件的内容 程序文件。程序文件又可分为源文件、目标文件和可执行文件。 数据文件。如各种图像文件、声音文件等。 根据文件的组织形式 顺序存取文件; 随机存取文件。 按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放,short int 数据32767,32767的各字符的ASCII码存放形式,内存存放形式,文本文件特点: 存储量大、速度慢、便于对字符操作,二进制文件特点: 存储量小、速度快、便于存放中间结果,12.3 文件操作概述,读文件与写文件,读文件:将磁盘文件中的数据传送到计算机内存的操作。 写文件:从计算机内存向磁盘文件中传送数据的操作。,构成文件的基本单元与流式文件,语言将文件看作是由一个一个的字符(ASCII码文件)或字节

      3、(二进制文件)组成的。文件中不存在其它更复杂的数据类型和结构,对文件数据的解释完全看程序本身。我们把按这种方式处理的文件称为流式文件。而在其它高级语言中,组成文件的基本单位是记录,对文件操作的基本单位也是记录。C语言程序也可以按照操作系统的方式操作文件,本章只介绍流式文件的操作方法。 C语言本身没提供输入输出的功能,必须调用标准库函数进行文件读写。,文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区,12.4 文件指针,文件结构体FILE 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的名为FILE的结构体描述 FILE定义在stdio.h中(Borland C+ 3.1),typedef struct int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold;

      4、 /* Ungetc char if no buffer */ int bsize; /* Buffer size */ unsigned char _FAR *buffer; /* Data transfer buffer */ unsigned char _FAR *curp; /* Current active pointer */ unsigned istemp; /* Temporary file indicator */ short token; /* Used for validity checking */ FILE; /* This is the FILE object */,文件类型指针 指针变量说明: FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放,12.5 文件的打开、读写和关闭,1、文件的打开与关闭,打开文件fopen,FILE *fopen (char *filename, char *mode);,C文件操作用库函数实现,包含在stdio.h

      5、文件使用方式:打开文件-文件读/写-关闭文件 系统自动打开和关闭三个标准文件:,标准输入-键盘 stdin 标准输出-显示器 stdout 标准出错输出-显示器 stderr,函数原形:,要打开的文件名,打开文件方式,功能:按指定方式打开文件 返值:正常打开,为指向文件结构体的指针;打开失败,为NULL,打开文件方式mode由两类字符构成: 一类字符表示打开文件的类型 t-表示文本文件(text,默认方式), b-表示二进制文件(binary), 另一类字符是操作类型 r-表示从文件中读取数据(read), w-表示向文件写入数据(write), a-表示在文件尾追加数据(append), +-表示文件可读可写。,注意: 打开文件方式字符串mode其字符先后次序是:操作类型符在前,打开文件类型符在后。如,rb、wt,不可写成br、tw。而对于+来说,可以放在操作类型符的右边,也可放在字符串的最后,但不可放在操作类型符的左边。如,w+b或wb+都是正确的,而+wb则是错误的。,例: FILE *fp; fp = fopen (wang.txt, r); if (fp = = NULL)

      6、printf (the file :wang.txt not found! ); exit (-1); ,打开文件fopen,int *fclose (FILE *filepointer);,函数原形:,文件打开时返回的文件类型指针,功能:关闭filepointer指向的文件 返值:正常关闭为0;出错时,非0 作用: 使文件指针变量与文件“脱钩”,释放文件结构体和文件指针,不关闭文件可能会丢失数据,FILE *fp; fp = fopen (wang.txt, r+); if (fp = = NULL) printf (the file :wang.txt not found! ); exit (-1); /读取和加工数据 fclose (fp); /关闭该文件,2、文件的读写,在语言中提供了多种文件读写的函数,这些函数主要包括: 字符读写函数: fgetc 和 fputc 字符串读写函数:fgets 和 fputs 数据块读写函数:fread 和 fwrite 格式化读写函数:fscanf 和 fprinf,(1) 字符读写函数:fgetc 和 fputc,fgetc,函数原形:,i

      7、nt fgetc (FILE *filepointer);,功能:从filepointer指向的文件中,读入一个字节(字符),同时将读写位置指针向前移动1个字节(即指向下一个字符) 返值:正常,返回读到的代码值;读到文件尾或出错,为EOF,fputc,函数原形:,int fputc (int c, FILE *filepointer);,功能:将字符数据c输出到filepointer所指向的文件中去,同时将读写位置指针向前移动1个字节(即指向下一个写入位置)。 返值:正常,返回c;出错,为EOF,【例1】 将键盘上输入的一个字符串(以作为结束字符),以ASCII码形式存储到一个磁盘文件中,然后从该磁盘文件中读出其字符串并显示出来。,#include #include void main (int argc, char *argv ) FILE *fp1,*fp2; char ch; if (argc != 2) /参数个数不对 printf (the number of arguments not correctnn); printf (Usage: 可执行文件名 filename n

      8、); exit (0); if (fp1 = fopen(argv1,wt) = NULL) /打开文件失败 printf (can not open this filen); exit (0); ,/输入字符,并存储到指定文件中 for ( ; (ch = getchar( ) != ; ) fputc (ch, fp1); /输入字符并存储到文件中 fclose (fp1); /关闭文件 /顺序输出文件的内容 fp2 = fopen (argv1, rt); for (; (ch = fgetc(fp2) != EOF; ) putchar (ch); /顺序读入并显示 fclose (fp2); /关闭打开的文件 ,运行结果(假设在DOS下输入的命令行如下): example1 wang.txt How are you? How are you?,【例2】利用字符读写函数实现文件拷贝。,#include #include void main (int argc, char *argv ) /input:源文件指针, output:目标文件指针 FILE *input, *outp

      9、ut; if (argc != 3) /参数个数不对 printf (the number of arguments not correctn); printf (n Usage: 可执行文件名 source-file dest-file); exit (0); /打开源文件失败 if (input = fopen(argv1, r) = NULL) printf (can not open source filen); exit (0); ,/创建目标文件失败 if (output = fopen(argv2,w) = NULL) printf (can not create destination filen); exit (0); /复制源文件到目标文件中 for ( ; ( !feof(input) ) ; ) fputc (fgetc(input), output); fclose (input); /关闭源文件 fclose (output); /关闭目标文件 ,文件读写位置指针:,在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc函数后,该位置指针将向后移动一个字节。因此可连续多次使用fgetc函数,读取多个字符。,文件读写位置指针与文件指针的区别:,文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。 文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。, ,(2) 字符串读写函数:fgets 和 fputs,fgets,函数原形:,char *fgets (char *s, int n, FILE *filepointer);,功能:从filepo

      《计算机培训 文件》由会员小****分享,可在线阅读,更多相关《计算机培训 文件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.