- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章磁数据存储
第六章 磁盘数据存储 第六章 磁盘数据存储 6.1 将数据写入文件 6.2 文件读写分类函数 6.3 文件定位函数 6.1 将数据写入文件 在前几章中我们学习的数据类型,可以用来存储相关数据,但这种存储是暂时的,当程序结束运行,这些数据也就消失了。为了长期保存这些数据,我们可以将它们存储到硬盘上,如果需要使用这些数据,再从硬盘上将它们读出来,这样数据就可以重复使用了。 在这一章我们要学习的主要内容是: 如何将数据写入文件 如何从文件中读取数据 文件的概念与类型 文件的概念 文件是根据特定目的而收集在一起并存储在外部介质上的有关数据的集合。 C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为文本文件和二进制文件两类。 文本文件(ASCII文件) 每个字节存放一个字符(即其ASCII码) 优点:便于对字符进行处理,可以直接输出字符形式 缺点:占用存储空间较多,对于数值型数据,其二进制形式与ASCII码形式转换需要时间 文件的概念与类型 二进制文件 数据按其在内存中的存储形式存放在磁盘上 优点:节省空间,输入输出速度快 缺点:不能直接输出字符形式 使用文件读写数据的四个必要步骤: 定义文件指针变量,文件类型FILE是在stdio.h头文件中声明的,可以直接使用 打开文件,并判断是否能正确打开文件,如果打开文件失败,则退出程序 向文件写入数据,或从文件读取数据,这是最重要的文件操作步骤 关闭文件 文件类型指针 每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等)。这些信息是保存在一个结构体变量,其结构体类型由系统定义,类型名为 FILE (注意:必须是大写),存放在stdio.h头文件中。 定义形式: FILE *指针变量名; 说明 只有通过文件指针变量才能调用相应的文件 同时要操作n个文件就要定义n个文件指针变量,分别对应各个文件 打开文件函数 fopen函数 格式:FILE * fopen(文件名, 文件使用方式); fopen函数返回一个地址,即用来存放文件信息的内存区起始地址,使用时应将返回值赋给一个文件指针变量。如果文件打开时出错,将返回空指针NULL。 文件的打开方式(rwab+) 格式: int fclose ( 文件指针变量 ) ; 例: fclose( fp ) ; 作用:将文件指针变量所指向的文件关闭,使文件指针变量不再指向该文件,以后不能通过该文件指针变量再对该文件进行任何操作。 返回值:若正常关闭,返回0;若关闭失败,返回非0 重要性:保证写文件时在关闭文件前将缓冲区的数据写入文件。 6.2 文件读写分类函数 单字符的写入/读取函数 写入函数:fputc函数 读取函数:fgetc函数 fputc函数 格式:int fputc(char ch,FILE *fp); 作用:将一个字符写到文件指针所指向的文件中去 函数返回值:成功时返回该字符,失败时返回 EOF(-1) 说明:写入一个字符后,文件位置指针将自动指向下一个字节 例: fputc( ‘s’ , fp ) ; #include stdio.h void main( ) { char ch; FILE *fp; fp=fopen(letter.txt,w); if (fp==NULL) { printf(\nOpening file error.\n); exit(0); } for (ch=A;ch=Z;ch++) fputc(ch,fp); fputc(\n,fp); fclose(fp); } fgetc函数 格式: int fgetc(文件指针变量); 作用:从文件指针变量所指向的文件中读一个字符,并将它赋给程序中的一个字符变量 函数返回值:成功时返回该字符,失败时返回 EOF 说明:读取一个字符后,文件位置指针将自动指向下一个字节 例: ch = fgetc ( fp ) ; 1、读取函数:fgets函数 格式: fgets( str , n , fp ); 说明: str: 字符数组名; n: 整数值; fp: 文件指针变量 作用:从fp指向的文件中读(n-1)个字符,将它们存放到str数组中,并在其后自动加一个‘\0’,如果读入(n-1)个字符前遇到换行符或文件结束符EOF,则结束读入 函数返回值:成功返回str数组的首地址,失败返回 NULL 2、写入函数:fputs函数 格式:fputs( str , fp ); 说明:str: 字符串常量或字符数组名或字符指针变量; fp: 文
文档评论(0)