- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言第12讲--文件操作
主讲老师:刘志强 第十五讲 特殊操作 —— 文件操作 §13.1 文件的概念 文件:存储在外部介质(如:软盘、硬盘、光盘等)上的数据的集合。文件又是以文件名作为标识符。 文件的创建方式:(1)通过文字处理软件或操作系统的文件管理功能;(2)通过程序语句创建。 数据的输入和输出:在计算机中,数据的输入和输出都是相对内存而言。将数据从磁盘文件或输入设备读入内存称为输入,从内存写到磁盘文件或输出设备称为输出。 §13.2 指向文件的指针 指向文件的指针的定义: FILE *变量名; 如:FILE *fp; 则定义了指针变量fp是一个指向文件的指针。 注意:使用FILE定义指向文件的指针时,必须包含头文件stdio.h §13.3 文件的打开和关闭 文件使用前,应先将文件打开到内存缓冲区,使用之后应将文件关闭,即把缓冲区中的数据回存到文件,然后释放内存缓冲区。 打开文件的函数:fopen()函数;关闭文件的函数:fclose()函数。 一、文件的打开 方法: FILE *fp;fp=fopen(文件名,打开方式); 一、文件的打开 例如: FILE *fp; fp=fopen(E:\test.dat,w);表示将E盘根目录下的test.dat文件,按只写的方式打开。如果磁盘上有此文件,打开并将文件指针指向文件首;如果磁盘上无此文件,创建一个新文件并打开。 二、文件的关闭 方法: fclose(文件指针);例如:fclose(fp);将指针fp指向的文件关闭。所谓文件关闭就是文件指针与文件的指向关系中断。 §13.4 文件的读写 文件的读写步骤: 文件的读写 从键盘输入数据写到文件的步骤: 文件的读写 文件的读写操作包括以下几种: getc( )函数:将一个字符由文件读入到内存fputc( )函数:将一个字符写入文件 fscanf( )函数:将一组数据由ASCII码文件读入到内存fprintf( )函数:将一组数据写入ASCII码文件 fread( )函数:将一组数据由二进制文件读入到内存 fwrite( )函数:将一组数据写入二进制文件 文件类型:ASCII码文件,二进制文件 1、从文件读字符 调用格式: fgetc(fp); 功能: 从fp所指定的文件中读入一个字符到内存。 返回值: 如果输入成功,返回所读入的字符;若输入不成功,则返回EOF(-1) 字符读写函数 ch=fgetc(stdin); 等价于 ch=getchar( ); fputc(ch,stdout); 等价于 putchat(ch); 例1 从键盘上输入一行字符写入data1.dat中,遇#结束 #include stdio.h main( ) {FILE *fp; fp=fopen(data1.dat,w); ch=getchar( ); while(ch!=#) {fputc(ch,fp); putchar(ch); ch=getchar( ); } fclose(fp); } 二、数据块读写函数 文件类型:二进制文件 1、读文件 调用格式: fread(p,size,n,fp); 功能:从fp指定的文件中,读出连续n个大小为size的数据块,将这些数据块读到以p为起始地址的内存地址中。 返回值:从fp所指向的文件中读出的实际数据块个数。 二、格式化读写函数 文件类型:ASCII码文件 1、读文件 调用格式: fscanf(fp,格式字符串,地址表列); 功能:按格式字符串所指定的格式,将从fp所指定的文件中读入的数据写入的内存单元地址中,每输入一个数据,指针向下移动若干字节。 二、格式读写函数 fscanf(stdin,格式字符串,地址表列); 等价于 scanf(格式字符串,地址表列); fprintf(stdout,格式字符串,输出项表列); 等价于 printf(格式字符串,输出项表列); §13.5 文件的定位 文件中都有一个指针,指向当前的读写位置,文件每进行一次读写操作,文件指针就会自动指向下一个位置。 如果想改变这种规律,就需要强制地使文件指针指向特定的位置,需要使用相应的函数来实现。 一、rewind()函数 调用格式: rewind(fp) 功能:使fp所指向的文件指针重新返回文件的开头。 返回值:无 二、fseek()函数 调用格式: fseek(fp,offset,whence) 使用文件类型:二进制文件 功能:使fp所指向的文件指针以whence为基点,移动offset个字节。 offset表示位移的偏
文档评论(0)