c语言-第10章利用文件保存数据刘佳.pptVIP

  • 0
  • 0
  • 约5.69千字
  • 约 45页
  • 2019-12-02 发布于湖北
  • 举报
C语言程序设计 第10章利用文件保存数据;C语言执行程序;文件的基本概念;文件的类别;文件的类别;;文件处理方法 缓冲文件系统:系统自动为正在使用的文件开辟内存缓冲区;文件指针;文件类型指针 ;文件类型指针 定义指向文件型数据的指针变量: FILE *fp;;文件的打开、读写和关闭 ;打开文件方式mode由两类字符构成: ① 一类字符表示打开文件的类型 t-----表示文本文件(text,默认方式), b----表示二进制文件(binary), ② 另一类字符是操作类型 r----表示从文件中读取数据(read), w----表示向文件写入数据(write), a----表示在文件尾追加数据(append), +----表示文件可读可写。 ;关闭文件函数fclose;在顺序写时,先写入的数据存放在文件中前面,后写入的数据存放在文件中后面 在顺序读时,先读文件中前面的数据,后读文件中后面的数据 对顺序读写来说,对文件读写数据的顺序和数据在文件中的物理顺序是一致的 ;2、文件的顺序读写 ; 字符写函数fputc;知识点回顾;【例10.1】从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个“#”为止 解题思路: 1、用getchar函数从键盘逐个输入字符。 2、然后用fputc函数写到磁盘file1.dat文件。 3、输入一个字符写一个字符,反复循环,直到满足条件。 while()的条件为字符!=‘#’; if((fp=fopen(filename,w))==NULL) // 打开输出文件使fp指向此文件 { printf(无法打开此文件\n); // 如果打开时出错,就输出打不开的信息 exit(0); // 终止程序*/ } ch=getchar( ); // 接收在执行scanf语句时最后输入的回车符 printf(请输入一个字符串(以#结束):); ch=getchar( ); // 接收从键盘输入的第一个字符 while(ch!=#) // 当输入#时结束循环 { fputc(ch,fp); // 向磁盘文件输出一个字符 putchar(ch); // 将输出的字符显示在屏幕上 ch=getchar(); // 再接收从键盘输入的一个字符 } fclose(fp); // 关闭文件 putchar(10); // 输出换行,ascii为10 exit };例10.2 将一个磁盘文件中的信息复制到另一个磁盘 文件中。 今要求将上例建立的file1.dat文件中的内 容复制到另一个磁盘文件file2.dat中。 解题思路: 处理此问题的算法是:从file1.dat文件中逐个读入 字符,然后逐个输出到file2.dat中。 fgetc()读取,fputc()输出;#include stdio.h #include stdlib.h void main( ) { FILE *in,*out; char ch,infile[10],outfile[10]; printf(输入读入文件的名字:); scanf(%s,infile); file1.dat printf(输入输出文件的名字:); scanf(“%s”,outfile); file2.dat if((in=fopen(infile,“r”))==NULL) {printf(无法打开此文件\n); exit(0);} ; if((out=fopen(outfile,w))==NULL) // 打开输出文件 {printf(无法打开此文件\n); exit(0); } while(!feof(in)) // 如果未遇到输入文件的结束标

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档