[电脑基础知识]c语言文件

[电脑基础知识]c语言文件

ID:27720157

大小:469.00 KB

页数:43页

时间:2018-12-04

[电脑基础知识]c语言文件_第1页
[电脑基础知识]c语言文件_第2页
[电脑基础知识]c语言文件_第3页
[电脑基础知识]c语言文件_第4页
[电脑基础知识]c语言文件_第5页
资源描述:

《[电脑基础知识]c语言文件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章文件本章要点文件的概念,C文件是如何存储的?文本文件和二进制文件的概念;怎样打开、关闭文件?怎样编写文件读写程序?怎样编写程序,实现简单的数据处理?9.1将“HelloWorld”写入到文件例9-1把短句“HelloWorld!”保存到磁盘文件f1.txt中。#include#includeintmain(void){FILE*fp;/*定义文件指针*/if((fp=fopen("f1.txt","w"))==NULL){/*打开文件*/printf("Fileopenerror!");exit(0);}fputs("HelloWorl

2、d!",fp);/*写文件*/if(fclose(fp)){/*关闭文件*/printf("Cannotclosethefile!");exit(0);}return0;}例9-1源程序9.1.2文件的概念文件:保存在外存储器上的一组数据的有序集合特点:数据长久保存数据长度不定数据按顺序存取9.1.3文本文件和二进制文件C语言中的文件是数据流文件的两种数据形式:ASCII码(文本文件textstream)字符流二进制码(二进制文件binarystream)二进制文件是直接把内存数据以二进制形式保存。例如,整数1234文本文件保存:49505152(4个字符)二进制文件保存:04D

3、2(1234的二进制数)9.1.4缓冲文件系统内存单元内存单元数据……缓冲器512字节……文件由操作系统自动完成程序控制由于磁盘速度慢直接把数据写到磁盘效率很低9.1.4缓冲文件系统向磁盘输出数据:数据缓冲区,装满缓冲区后磁盘文件。从磁盘读入数据:先一次性从磁盘文件将一批数据输入到缓冲区,然后再从缓冲区逐个读入数据到变量。数据……缓冲器512字节……文件由操作系统自动完成程序控制文件名内存单元内存单元用什么标识缓冲文件与文件类型指针用文件指针指示文件缓冲区中具体读写的位置FILE*fp;数据……缓冲器512字节……文件由操作系统自动完成程序控制fp同时使用多个文件时,每个文件都有缓冲

4、区,用不同的文件指针分别指示。9.1.5文件结构与文件类型指针1.自定义类型(typedef):将C语言中的已有类型(包括已定义过的自定义类型)重新命名新的名称可以代替已有数据类型常用于简化对复杂数据类型定义的描述typedef<已有类型名><新类型名>;自定义类型(typedef)typedef<已有类型名><新类型名>;typedefintINTEGER;inti,j;<====>INTEGERi,j;typedefint*POINT;int*p1;<====>POINTp1;自定义类型(typedef)的使用方法定义变量inti变量名新类型名intINTEGER加上type

5、deftypedefintINTEGER用新类型名定义变量INTEGERi;intnum[10]intNUM[10]typedefintNUM[10]NUMa<===>inta[10]FILE:结构类型用typedef定义,stdio.htypedefstruct{shortlevel;/*缓冲区使用量*/unsignedflags;/*文件状态标志*/charfd;/*文件描述符*/shortbsize;/*缓冲区大小*/unsignedchar*buffer;/*文件缓冲区的首地址*/unsignedchar*curp;/*指向文件缓冲区的工作指针*/unsignedcharho

6、ld;/*其他信息*/unsignedistemp;shorttoken;}FILE;2.文件结构-FILE3.文件类型指针FILE*fp指向文件缓冲区,通过移动指针实现对文件的操作数据……缓冲器512字节……文件由操作系统自动完成程序控制fp同时使用多个文件时,每个文件都有缓冲区,用不同的文件指针分别指示。如何使fp与具体文件挂钩?9.2读取学生成绩文件例9-2已知一个数据文件f.txt中保存了5个学生的计算机等级考试成绩,包括学号、姓名和分数,文件内容如下,请将文件的内容读出并显示到屏幕中。301101张文91301102陈慧85301103王卫东76301104郑伟693011

7、05郭温涛55程序解析#include"stdio.h"intmain(void){FILE*fp;/*定义文件指针*/longnum;charstname[20];intscore;if((fp=fopen("f.txt","r"))==NULL){/*打开文件*/printf("Fileopenerror!");exit(0);}while(!feof(fp)){fscanf(fp,"%ld%s%d",&num,stname,&score);pri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。