C语言文件中数据的访问与存储_第1页
C语言文件中数据的访问与存储_第2页
C语言文件中数据的访问与存储_第3页
C语言文件中数据的访问与存储_第4页
C语言文件中数据的访问与存储_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6章文件中数据的访问与存储章文件中数据的访问与存储6.1文件的概念和分类文件的概念和分类 6.2文件中数据的读写步骤文件中数据的读写步骤6.3文本文件中数据的读写操作文本文件中数据的读写操作P1916.1文件的概念和分类文件的概念和分类P192返回返回6.1文件的概念和分类文件的概念和分类P192返回返回6.1文件的概念和分类文件的概念和分类P192返回返回6.2文件中数据的读写步骤文件中数据的读写步骤P192返回返回6.3文本文件中数据的读写操作文本文件中数据的读写操作P192返回返回6.3.1向文本文件中写数据向文本文件中写数据P1926.3.1向文本文件中写数据向文本文件中写数据P1

2、92#include main() 定义文件指针定义文件指针fp 打开(或建立)打开(或建立)d盘盘c文件夹中的文件夹中的“f1.txt”文文件件 将问候语写入将问候语写入“f1.txt”文件文件 关闭文件关闭文件FILE *fp;fp=fopen(d:cf1.txt,w);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fprintf(fp,n);fclose(fp);P194#include #include #include main() 定义整型变量定义整型变量a、b

3、、c和和i 定义文件指针定义文件指针fpint a,b,c,i;FILE *fp; 打开打开d盘盘c文件夹中的文件夹中的“f2.txt”文件文件 随机产生三个题目随机产生三个题目fp=fopen(d:cf2.txt,w);if(fp=NULL) printf(Can not open the file.n); exit(0);srand(time(0);for(i=1; i=3; i+) a=rand()%100; b=rand()%100;文件打开失败文件打开失败 等待键盘输入答案等待键盘输入答案 将题目和答案存入将题目和答案存入“f2.txt”文件文件 关闭文件关闭文件 fprintf(f

4、p,(%d) %d+%d=%dn, i,a,b,c);fclose(fp); printf(第第%d题:题:%d+%d=,i,a,b); scanf(%d,&c);形式接近形式接近 P195#include #include struct list 定义存放中文单词的成员定义存放中文单词的成员 定义存放英文单词的成员定义存放英文单词的成员;main() 定义名为定义名为list的结构体类型数组的结构体类型数组a并初始化并初始化 定义循环变量定义循环变量i 定义文件指针定义文件指针fp 打开当前文件夹中的打开当前文件夹中的“f3.txt”文件文件 将结构体数组将结构体数组a中的数据写入中

5、的数据写入“f3.txt”文件文件 关闭文件关闭文件char cn10;char en10;既清晰又易读取既清晰又易读取#include #include struct list 定义存放中文单词的成员定义存放中文单词的成员 定义存放英文单词的成员定义存放英文单词的成员;main() 定义名为定义名为list的结构体类型数组的结构体类型数组a并初始化并初始化 定义循环变量定义循环变量i 定义文件指针定义文件指针fp 打开当前文件夹中的打开当前文件夹中的“f3.txt”文件文件 将结构体数组将结构体数组a中的数据写入中的数据写入“f3.txt”文件文件 关闭文件关闭文件main() struct

6、 list a5= 中国中国,China,女孩女孩, girl,男孩男孩,boy,人人,man, 一一,one; int i; FILE *fp; fp=fopen(f3.txt,w); if(fp=NULL) printf(Can not open the file.n); exit(0); for(i=0; i5; i+) fprintf(fp,%15s%15sn, ,ai.en); fclose(fp);相对路径相对路径最好提供宽度最好提供宽度P197#include struct list 定义存放中文单词的成员定义存放中文单词的成员 定义存放英文单词的成员定义存放英文单词的成员;ma

7、in() 定义名为定义名为list的结构体类型变量的结构体类型变量w 定义文件指针定义文件指针fp 打开当前文件夹中的打开当前文件夹中的“f3.txt”文件文件 输入要添加的单词输入要添加的单词 将添加的单词写入将添加的单词写入“f3.txt”文件文件 关闭文件关闭文件char cn10;char en10;struct list w;FILE *fp;gets(); gets(w.en);fprintf(fp,%15s%15sn,w.en);fp=fopen(f3.txt,a);if(fp=NULL) fclose(fp);打打 开方开方 式式功功 能能 文本文本 二进制二进制 rrb仅为读

8、打开已有文件仅为读打开已有文件wwb仅为写打开仅为写打开aab为追加打开为追加打开P2006.3.2从已有的文本从已有的文本文件中读数据文件中读数据P2006.3.2从已有的文本从已有的文本文件中读数据文件中读数据P200#include #include main() 定义整型变量定义整型变量a、b、c、k和和i 定义文件指针定义文件指针fp 打开打开d盘盘c文件夹中的文件夹中的“f2.txt”文件文件 从从“f2.txt”文件中读取题目和答案文件中读取题目和答案 将题目和答案显示在屏幕上将题目和答案显示在屏幕上 关闭文件关闭文件int a,b,c,k,i;FILE *fp;if(fp=NU

9、LL) fp=fopen(d:cf2.txt,r);for(i=1; i=3; i+) fscanf(fp,(%d) %d+%d=%dn, &k,&a,&b,&c); printf(-%d- %d+%d=%dn, k,a,b,c);fclose(fp);P201#include #include struct list 定义存放中文单词的成员定义存放中文单词的成员 定义存放英文单词的成员定义存放英文单词的成员; char cn10;char en10;main() 定义循环变量定义循环变量i 定义名为定义名为list的结构体类型变量的结构体类型变量w 定义文件指

10、针定义文件指针fp 打开打开d盘盘c文件夹中的文件夹中的“f3.txt”文件文件 从从“f3.txt”文件中读取单词文件中读取单词 将单词显示在屏幕上将单词显示在屏幕上 关闭文件关闭文件int i;struct list w;FILE *fp;if(fp=NULL) fp=fopen(d:cf3.txt,r);for(i=1; i=5; i+) fscanf(fp,%15s%15sn, ,w.en); printf(%15s%15sn, ,w.en);fclose(fp);对于长度不定的文件对于长度不定的文件 while(feof(fp)=0) P203#include #include #i

11、nclude struct list 定义存放中文单词的成员定义存放中文单词的成员 定义存放英文单词的成员定义存放英文单词的成员; char cn10;char en10;main() 定义名为定义名为list的结构体类型变量的结构体类型变量w 定义文件指针定义文件指针fp 定义标志变量定义标志变量s.flag 定义字符串变量定义字符串变量str 打开打开d盘盘c文件夹中的文件夹中的“f3.txt”文件文件 struct list w;FILE *fp;int s,flag=0;char str20;fp=fopen(d:cf3.txt,r);if(fp=NULL) printf(Can no

12、t open the file.n); exit(0);选择是英汉还是汉英?选择是英汉还是汉英?输入待查找的单词输入待查找的单词printf(请选择:请选择:n英汉英汉-1n汉英汉英-2n);scanf(%d,&s);if(s=1) printf(请输入要查找的英文单词请输入要查找的英文单词:n); scanf(%s,str);else if(s=2) printf(请输入要查找的中文请输入要查找的中文:n); scanf(%s,str); 在在“f3.txt”文件中查找对应单词文件中查找对应单词 输出查找结果输出查找结果while(feof(fp)=0) fscanf(fp,%15s

13、%15sn,w.en); if(s=1 & strcmp(str,w.en)=0) flag=1; printf(%s: %sn,w.en,); break; if(s=2 & strcmp(str,)=0) flag=1; printf(%s: %sn,w.en); break; if(flag=0)printf(没有查找到对应的单词没有查找到对应的单词); 关闭文件关闭文件 fclose(fp);P205用记事本在用记事本在d d盘盘c c文件夹下建立文件文件夹下建立文件“f4.txt”f4.txt”和和“f5.txt”f5.txt”,文件中存放汉英对照表。,文件中存放汉英

14、对照表。 #include #include struct list 定义存放中文单词的成员定义存放中文单词的成员 定义存放英文单词的成员定义存放英文单词的成员; char cn10;char en10;main() 定义名为定义名为list的结构体类型变量的结构体类型变量w 定义文件指针定义文件指针fp1,fp2 打开打开d盘盘c文件夹中的文件夹中的“f4.txt”文件文件 打开打开d盘盘c文件夹中的文件夹中的“f5.txt”文件文件struct list w;FILE *fp1,*fp2;fp1=fopen(d:cf4.txt,a);if(fp1=NULL) printf(Can not

15、open the file.n); exit(0);fp2=fopen(d:cf5.txt,r);if(fp2=NULL) printf(Can not open the file.n); exit(0); 从从“f5.txt”文件中读取数据文件中读取数据 将数据追加到将数据追加到“f4.txt”文件文件 关闭两个文件关闭两个文件while(feof(fp2)=0)fscanf(fp2,%10s%15sn,w.en); fprintf(fp1,%10s%15sn,w.en);fclose(fp1);fclose(fp2); P207P2076.3.3文本文件中对文本文件中对数据的读写操作数据的

16、读写操作P2076.3.3文本文件中对文本文件中对数据的读写操作数据的读写操作P207#include #include main() 定义整型数组定义整型数组a、b、c、k 定义循环控制变量定义循环控制变量i、j 定义文件指针定义文件指针fp 打开打开d盘盘c文件夹中的文件夹中的“f2.txt”文件文件int a50,b50,c50,k50,i,j;FILE *fp;fp=fopen(d:cf2.txt,r);if(fp=NULL) printf(Can not open the file.n); exit(0);从从“f2.txt”文件中读取数据到数组文件中读取数据到数组a、b、c、k中中

17、关闭文件关闭文件修改第修改第1题答案题答案i=0;while(feof(fp)=0) fscanf(fp,(%d) %d+%d=%dn, &ki,&ai,&bi,&ci); i+;fclose(fp);printf(-%d- %d+%d=n, k0,a0,b0);printf(请输入正确答案:请输入正确答案:);scanf(%d,&c0); 重新打开重新打开“f2.txt”文件文件 将修改后的新数据写入该文件将修改后的新数据写入该文件 关闭文件关闭文件fp=fopen(d:cf2.txt,w);if(fp=NULL) printf(Can not ope

18、n the file.n); exit(0);for(j=0; ji; j+) fprintf(fp,(%d) %d+%d=%dn, kj,aj,bj,cj);printf(修改完毕修改完毕n);fclose(fp) 0)P209#include #include main() 定义整型变量定义整型变量a、b、c、k 定义文件指针定义文件指针fp1、fp2 打开打开d盘盘c文件夹中文件夹中“f2.txt”、“f2_new.txt” 从从“f2.txt”文件中读取数据文件中读取数据 将数据写入将数据写入“f2_new.txt”文件中文件中 关闭文件关闭文件 #include #include main() int a,b,c,k; FILE *fp1,*fp2; fp1=fopen(d:cf2.txt,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论