- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.文件(15周)
程序设计基础 作者 鲍志斌 目录 8.1 文件概述 8.2 文件打开和关闭 8.3 文件的操作 文件的顺序操作 文件的随机操作 8.4文件检测 数据是以文件的形式存储在外部介质上。操作系统是以文件为单位对数据进行管理的。 只有将数据存放到外部介质上,才能保存下来。 如果需要向外部介质存储数据,需要先建立一个文件,为文件确定名称,然后向他输出数据; 如果需要从外部文件读取数据,首先按文件名找到该文件,将他打开,执行读操作。 文件分类 按文件的内容 程序文件和数据文件 按文件的组织形式 顺序存取文件和随机存取文件 按文件的存储形式 可分为ASCII码文件和二进制文件 文件类型指针 每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息。如文件名字、文件状态及文件当前的位置等。 文件的这些信息保存在一个结构体变量中,该结构体类型是由系统定义的,名称为FILE。 在进行文件操作时,需要使用文件类型的变量,定义格式:FILE *fp;通过fp实现对文件的各种操作。 文件的打开 文件的打开——fopen( )函数 fopen(文件名,使用方式) 使用方式: 例如: if((fp=fopen(filename, r) )==NULL) { printf(Can’t open this file! \n); exit(0); } 程序运行时: 文件的关闭—fclose( )函数 fclose(文件指针) 例8-1 读入文本文件file1.dat,在屏幕上输出 #includestdio.h #includestdlib.h void main( ) { char c; FILE *fp; if(( fp=fopen(f1, r))==NULL) { printf(Can’t open this file! \n); exit(0);} while( (c=fgetc(fp))!=EOF) printf( %c, c); printf(\n); fclose(fp); } 例8-2从键盘输入一行字符,写入一个文件c2.txt中。 #includestdio.h #includestdlib.h void main() { FILE *fp; char ch; if(( fp = fopen(c2.txt,w+)) == NULL) { printf(Cannot open file!); exit(1);} printf( input a string:\n); ch = getchar(); while ( ch != \n) { fputc(ch,fp); ch=getchar(); } fclose(fp); } 读写字符串的函数 —fgets( )和fputs( ) 8-3 从键盘输入一行字符,使用fputs写入文件c3.txt中。 #includestdio.h #includestdlib.h void main() {FILE *fp; char st[20]; if(( fp = fopen(c3.txt,w+)) == NULL) { printf(Cannot open file!); exit(1);} printf(input a string:\n); gets(st); fputs( st, fp); fclose(fp); } 8-4 从c3.txt文件中读入一个含10个字符的字符串,并从显示器输出。 #includestdio.h #includestdlib.h void main() { FILE *fp; char str[10]; if(( fp = fopen(c3.txt,r))==NULL) { printf(Cannot open file!); exit(1); } fgets(str,15,fp); printf(\n%s\n,str); fclose(fp); } 读写数据块的函数 ——fread( )和fwrite( ) buffer:存放读/写数据的起始地址。 size: 数据块的字节数。 count: 读/写的数据块块数。 fp: 文件指针。 函数调用成功:返回count的值。 例8-6 把一个浮点数组以二进制方式写入文件test.dat 中 #includestdio.h #includestdlib.h void main() { float f[6]; FILE *fp
文档评论(0)