欢迎来到天天文库
浏览记录
ID:59005841
大小:1.36 MB
页数:41页
时间:2020-09-27
《计算机网络第9章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、存储设备第九章数据的永久性存储内部存储设备外部部存储设备9.1数据的永久性存储文件是永久性存储设备的最基本存储单位。文件能够大量的、永久性的保存数据信息,并能够通过各种文件操作功能来管理和使用这些数据。文件概念:文件是指存储在永久性存储设备上的具有名字(文件名)的一组相关数据的集合,通常也被称为磁盘文件。9.2文件的组织方式根据编码方式,文件可以分为两种:一种是文本文件(ASCII码文件),另一种是二进制文件。通过C语言编程实现对文件的访问时,必须要严格按照文件原有的编码方式及文件存储格式来对文件进行访问操作,才能正确读写文件数据。9.3文件的操作文件操作主要包括读文件和写文件等。读文件
2、是指从文件中把数据信息读入内存中,以供程序调用;写文件是指把内存中的数据信息输出到永久性存储设备上的文件中,起到保存数据和实现数据共享的功能。9.3文件的操作头文件stdio.h定义了文件结构体类型FILE,用来保存文件的文件名、文件的状态和文件当前的读写位置等相关文件信息。9.3.1stdio.htypedefstruct{shortlevel;/*缓冲区‘满’或‘空’的程度*/unsignedflags;/*文件状态标志*/charfd;/*文件描述符*/unsignedcharhold;/*如无缓冲区不读字符*/shortbsize;/*缓冲区的大小*/unsignedchar*b
3、uffer;/*数据缓冲区的位置*/unsignedchar*curp;/*文件内位置指针当前的指向*/unsignedistemp;/*临时文件指示器*/shorttoken;/*用于有效性检查*/}FILE;9.3文件的操作C语言的文件操作编程时,用FILE来定义一个文件结构体类型指针变量(通常称为文件指针),用来指向被访问的文件并通过该文件指针变量来访问文件信息。文件指针定义形式:9.3.1stdio.hFILE*fp;/*定义文件结构体类型指针变量*/上面的C程序语句定义了一个文件指针fp,但fp指向哪个文件,目前并不知道,只有通过文件打开函数让fp指向某个指定文件,将fp与该文
4、件关联起来,才能使用fp。9.3文件的操作C语言是以文件流的形式来对文件进行访问操作的。为了便于对文件流的顺序访问和随机定位访问,在文件内部还有一个位置指针来指向文件的当前读写操作位置,这就是文件结构体FILE中的成员指针变量curp。9.3.1stdio.h9.3文件的操作stdio.h中关于文件的宏定义9.3.1stdio.h#defineSEEK_SET0/*表征文件头位置*/#defineSEEK_CUR1/*表征文件位置指针当前所处位置*/#defineSEEK_END2/*表征文件尾位置*/#defineEOF-1/*文件结束标识宏常量*/9.3文件的操作stdio.h中关于
5、文件的常用函数9.3.1stdio.h函数名功能说明函数名功能说明fopen()打开文件流fscanf()从文件流中按格式读取数据fclose()关闭文件流fprintf()把数据按格式输出到文件流feof()文件结束标识测试fread()从文件流中读取指定大小的数据块ferror()文件访问错误测试fwrite()向文件流中写入指定大小的数据块fgetc()从文件流中读取(输入)一个字符rewind()文件内部读写位置指针复位到文件头fputc()写入(输出)一个字符到文件流中fseek()文件内部读写位置指针置为特定位置fgets()从文件流中读一行或指定长度字符串ftell()返回
6、文件内部读写位置指针当前位置fputs()写字符串到文件流中9.3文件的操作9.3.2文件的打开与关闭(1)文件打开函数fopen()原型:FILE*fopen(constchar*filename,constchar*mode);头文件:#include功能:以指定方式打开所指定的文件参数:filename—文件路径加文件名,mode—文件打开方式返回值:若打开文件成功,则返回文件指针值;否则,返回NULL(2)文件关闭函数fclose()原型:intfclose(FILE*stream);头文件:#include功能:关闭文件参数:stream—文
7、件指针返回值:若关闭文件成功,则返回0;否则,返回EOF9.3文件的操作9.3.2文件的打开与关闭……FILE*fp,*fpBinary;fp=fopen(“c:\zwg\zwg.txt","r");/*以只读方式打开文本文件*/if(NULL==fp){printf("Opentextfile'zwg.txt'error!");exit(-1);}fpBinary=fopen(“c:\zwg\zwg.bin","rb+")
此文档下载收益归作者所有