C语言第12章PPT教学课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("input a to creat(########.###):"); gets(); if ((fp=fopen(,"wb"))==NULL)
如果正常关闭了文件,则函数返回值为0; 否则,返回值为非0(-1)。
2020/12/09
9
12.3 文件的读写操作
文件打开之后,就可以对它进行读与写的操作了。
12.3.1 读/写一个字符 12.3.3 读/写一个数据块 12.3.2 读/写一个字符串 12.3.4 格式化读/写 12.3.5 读/写函数的选用原则
第12章 文 件
程序运行时,数据一般都存放在内存中。当程序运行结 束后,存放在内存中的数据被释放。
如需长期保存程序运行所需的原始数据,或程序运行产 生的结果,就必须将数据以文件形式存储到外部存储介质上。
12.1 C语言文件概述 12.2 文件的操作步骤 12.3 文件的读写操作 12.4 位置指针与文件定位 12.5 出错检测
p.310
二、打开文件──fopen()函数 以某种使用方式打开文件
p.311
if( (fp=fopen(“文件名”,“使用方式”)) ==NULL)
{ printf("can not open this file\n");
exit(0);
}
正常返回DOS
2020/12/09
7
文件的使用方式: “r” 以只读方式打开已有文本文件 “w” 以只写方式打开新文本文件 “a” 以只写方式打开已有文本文件,追加数据到末尾 “r+”、”w+”、”a+” 以读写方式打开ASCII文件
2020/12/09
1
12.1 C语言文件概述
一、文件的概念 文件:存放在外部存储介质上的信息集合。 文件名:命名规则因操作系统的不同而不同。 TC2.0中文件命名遵循DOS约定:[.exp]
二、文件分类 (1) 程序文件:源程序文件 .c 目标文件 .obj 可执行文件 .exe
(2) 数据文件:本章所指文件均为数据文件 存放在内存(变量或数组)中——临时性;
3、文件的处理方式 (1)缓冲文件系统 √ (2)非缓冲文件系统╳
2020/12/09
3
内存
程序区
(由程序控制 数据文件的 读写操作)
数据区
写 文件输出缓冲区
文件输入缓冲区
磁盘 写
数据文件
读
2020/12/09
读
4
12.2 文件的操作步骤
[例12.1] 从键盘输入一串字符(以“@”结束),以ASCII码 形式存储到文件t.txt中。
2020/12/09
14
12.3.2 读/写一个数据块──fread()和fwrite()
[例12.3]从键盘读入 若干个学生的信息, 存入磁盘文件中。
#include "stdio.h" main()
{ FILE *fp; struct student { int num; char name[12]; int score; }stu; int i; char [10];
2020/12/09
12
二.从文件中读入一个字符──fgetc()函数 文件结束标志:EOF (符号常量 -1)
[例12.2] 输出ASCII码文件t.txt中的内容。 #include "stdio.h" main()
{ FILE *fp; char ch,[10]; printf("Enter a to read(########.###):"); gets();
if ((fp=fopen(,"rb"))==NULL)
{ printf("the found!\n");
exit(0);
}
2020/12/09
13
while((ch=fgetc(fp)) !=EOF ) putchar(ch);
fclose(fp); }
程序运行结果: abcdefg 1234567
{ printf("can't open the file!\n");
exit(0);
} 2020/12/09
11
for(; (ch=getchar()) != ‘@’;) fputc(ch,fp); /*把ch写入由fp指向的文件中去*/
fclose(fp); }
程序运行情况: abcdefg 1234567@←┘
2020/12/09
5
#include “stdio.h” /*文件操作要包含头文件stdio.h*/
main()
{ FILE *fp;
/*1.定义文件类型指针*/
char ch;
if ((fp=fopen(“a.txt”,“w”))==NULL) /*2以写方式打开文件*/
{ printf("can't open the file!\n");
数据
存放在磁盘文件中——永久性。
2020/12/09
2
三、数据文件分类 1、数据的存取控制方式 (1)顺序文件:只能从头开始顺序地存取文件中的元素。 (2)随机文件:可存取(读写)文件中任一指定元素。
2、数据的组织方式 (1)ASCII码文件:按字符的ASCII码方式存储,扩展名一 般为.TXT。 (2)二进制文件:按二进制码的形式存储,其它语言系统 往往不能识别。
“rb” 以只读方式打开已有二进制文件 “wb” 以只写方式打开新二进制文件 “ab” 以只写方式打开已有二进制文件,追加数据到末尾 “rb+”、”wb+”、”ab+” 以读写方式打开二进制文件
2020/12/09
8
四、对文件进行读或写操作
五、关闭文件──fcolse()函数
int fclose(FILE *fp);
2020/12/09
10
12.3.1 读/写一个字符
一、fputc()函数——把一个字符写入文件
[例12.1] 从键盘输入一组字符(以“@”结束),以ASCII码形式存 储
到文件t.txt中。
文件名可从键盘输入
#include “stdio.h”
main()
{ FILE *fp;
char ch;
if ((fp=fopen(“a.txt”,“w”))==NULL)
exit(0);
}
for(; (ch=getchar()) != ‘@’;) fputc(ch,fp);
/*3.对文件进行写操作*/
fclose(fp); } 2020/12/09
/*4.关闭文件*/
6
文件操作步骤:
一、包含头文件 stdio.h
二、定义文件类型指针变量
FILE *fp;
结构类型 指针变量