登录
|
注册
|
QQ账号登录
|
常见问题
联系我们:
我要上传
首页
浏览
幼儿/小学教育
中学教育
高等教育
研究生考试
外语学习
资格/认证考试
论文
IT计算机
经济/贸易/财会
管理/人力资源
建筑/环境
汽车/机械/制造
研究报告
办公文档
生活休闲
金融/股票/期货
法律/法学
通信/电子
医学/心理学
行业资料
文学/艺术/军事/历史
我的淘豆
我要上传
帮助中心
复制
下载此文档
数据的永久存储--文件程序设计【PPT课件】.ppt
文档分类:
IT计算机
|
页数:约64页
举报非法文档有奖
分享到:
1
/
64
下载此文档
搜索
下载此文档
关闭预览
下载提示
1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
2.下载该文档所得收入归上传者、原创者。
3.下载的文档,不会出现我们的网址水印。
同意并开始全文预览
(约 1-6 秒)
下载文档到电脑,查找使用更方便
下 载
还剩?页未读,
继续阅读
分享到:
1
/
64
下载此文档
文档列表
文档介绍
数据的永久存储--文件程序设计【PPT课件】.ppt
高级语言程序设计
第9章 数据的永久存储
—文件程序设计
福建工程学院 鲍春波
引言
到现在为止,我们所写的程序,不管是输入的原始数据,还是中间计算结果或最终计算结果,在程序运行结束退出后,就都无影无踪了。
你的原始数据输入也不是直接写到外存
ANSI C 的缓冲文件系统
编译器自动地在内存区为每一个正在使用的文件开辟一个文件缓冲区。
程序员只和缓冲区打交道
从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘去。
从磁盘向内存输入数据,则从磁盘文件将一批数据先输入到内存缓冲区,装满缓冲区后再从缓冲区逐个地将数据送到程序数据区给程序变量。
缓冲区是内存中的一块区域,要对它进行读写,首先应该获得它的地址,这就是文件指针FILE *
也就是在进行文件操作之前必须先定义一个文件指针,如
FILE *infile,*outfile,*fp;
三个特殊的文件指针:
标准输入(键盘也被认为是一个文件流)stdin,
标准输出(显示器也被认为是一个文件流)stdout,
标准错误(错误输出认为是一个文件流)stderr。
打开文件
设 FILE *fp;
ANSI C的打开文件函数fopen为
fp = fopen(“文件名”,文件的打开方式);
如果fopen打开成功,返回一个不为NULL的FILE指针,打开不成功则返回一个NULL指针
其中文件名可以是绝对路径格式或相对路径格式
文本文件的打开方式
“r” :打开一个已存在的文本文件,用于输入。
“w”: 建立一个新的或覆盖一个已存在的文本文件,用于输出。
“a”: 建立一个新文本文件或以追加的方式打开一个已经存在的文本文件,用于输出。
“r+”: 打开一个已经存在的文本文件用于更新(意思是:既可以读又可以写)。
“w+”: 建立一个新的文本文件或覆盖一个已经存在的文本文件,用于更新。“a+”: 建立一个新的文本文件或以追加的方式打开一个已存在的文本文件,用于更新。
二进制文件的打开方式
与文本文件的6种打开方式类似,只需在打开方式字符串中加入一个字符b
“rb”、“wb” 、“ab”
“rb+”、“wb+” 、“ab+”
其意义与文本文件的打开方式完全相同
注意:
用“w”、“w+”或“wb”、“wb+”方式打开一个文件时,如果文件已经存在,将覆盖已有的文件。
文件关闭
fclose(fp);
典型的文件建立代码(对应4个基本步骤)
FILE *fp;
if( (fp=fopen(“”,“r”) ) == NULL){ printf(“Cannot open file, strike any key exit ! ”); getch(); exit(1);}
//文件读写……
fclose(fp);
ANSI C的文件操作函数
字符读写函数
int fgetc(FILE *fp);
int fputc(int c, FILE *fp);
或者宏
int getc(FILE *fp);
int putc(int c, FILE *fp);
每次读写一个字符
例1:写一个程序把一个源程序文件做一个备份
可以把源程序看成是一个字符序列,采用字符读写方式即可实现
FILE *fp;
思考题
用命令行参数提供输入输出文件名,实现文件的拷贝命令
copyfile file1 file2
字符串读写
char *fgets(char *s, int n, FILE *fp);
从文件中读出n-1字符,存到s指向的字符数组中
int fputs(const char *s, FILE *fp);
例2:从文件中读一个含10个字符的字符串
使用fgets(str,11,fp)从fp指向的文件中读出n-1个字符送入字符数组str中, 末尾会自动加上'\0'。
例3 在文件中追加一个字符串
使用 fputs(“abcd”,fp)函数把字符串"abcd"写入fp所指的文件之中
格式化读写(文本文件)
int fscanf(FILE *fp, const char *format, ...);
int fprintf(FILE *fp, const char *format, ...);
按照某种格式对一组数据进行读写,常用于文本文件的读写
不能看出:当fp = stdin
数据的永久存储--文件程序设计【PPT课件】 来自淘豆网m.daumloan.com转载请标明出处.
猜你喜欢
2025年国家电网招聘之经济学类考试题库带答案..
80页
深井高地应力大采高工作面煤壁片帮机理及控制..
3页
2025年幼儿园中班美术《头发乱了》教案(精选..
34页
2025年县乡教师选调考试《教师职业道德》题库..
51页
2025年国家电网招聘之通信类考试题库含完整答..
165页
2025年国家电网招聘之通信类考试题库附参考答..
164页
2025年国家电网招聘之通信类考试题库附答案(..
164页
2025年土地登记代理人之土地登记相关法律知识..
179页
2025年幼儿园中班家长写给老师的心得(精选8篇..
31页
2025年土地登记代理人之土地登记相关法律知识..
178页
2025年国家电网招聘之电网计算机考试题库带答..
159页
2025年土地登记代理人之土地登记相关法律知识..
177页
海洋核动力平台配电变压器低压侧三相短路电流..
3页
2025年国家电网招聘之通信类考试题库及答案(..
165页
浙江中控ECS-700系列在挤压机中的应用
3页
相关文档
更多>>
非法内容举报中心
文档信息
页数
:
64
收藏数
:
0
收藏
顶次数
:
0
顶
上传人
:
yzhlya
文件大小
:
644 KB
时间
:
2022-06-08
相关标签
c语言程序设计ppt课件
永久的生命课件
c语言程序设计课件
伤仲永ppt课件
文件存储方案
程序文件
数据库课件
大数据课件
数据存储规范
数据存储方案
计算机原理
PHP资料
linux/Unix相关
C/C++资料
Java
.NET
windows相关
开发文档
管理信息系统
软件工程
网络信息安全
网络与通信
图形图像
行业软件
人工智能
计算机辅助设计
多媒体
软件测试
计算机硬件与维护
网站策划/UE
网页设计/UI
网吧管理
电子支付
搜索引擎优化
服务器
电子商务
Visual Basic
数据挖掘与模式识别
数据库
Web服务
网络资源
Delphi/Perl
Python
CSS/Script
Flash/Flex
手机开发
UML理论/建模
并行计算/云计算
嵌入式开发
数据结构与算法
SEO
最近更新
2025年国家电网招聘之电网计算机考试题库含..
2025年国家电网招聘之电网计算机考试题库及..
2025年国家电网招聘之电网计算机考试题库带..
2025年国家电网招聘之电网计算机考试题库附..
2025年国家电网招聘之电网计算机考试题库附..
2025年国家电网招聘之经济学类考试题库及参..
2025年国家电网招聘之经济学类考试题库及答..
2025年国家电网招聘之经济学类考试题库及答..
2025年国家电网招聘之经济学类考试题库含答..
2025年国家电网招聘之经济学类考试题库附答..
2025年国家电网招聘之经济学类考试题库附完..
2025年国家电网招聘之经济学类考试题库(有..
2025年国家电网招聘之通信类考试题库及完整..
2025年国家电网招聘之通信类考试题库及完整..
2025年国家电网招聘之通信类考试题库完美版..
2025年国家电网招聘之通信类考试题库附答案..
2025年土地登记代理人之土地登记相关法律知..
2025年土地登记代理人之土地登记相关法律知..
2025年土地登记代理人之土地登记相关法律知..
2025年土地登记代理人之土地登记相关法律知..
2025年报检员资格考试题库及完整答案【各地..
2025年报检员资格考试题库含答案【综合卷】..
2025年报检员资格考试题库带答案(最新)
2025年报检员资格考试题库(精华版)
2025年普法学法知识竞赛题库及一套参考答案..
2025年普法学法知识竞赛题库含完整答案【易..
2025年普法学法知识竞赛题库带答案(培优a卷..
2025年普法学法知识竞赛题库附参考答案(a卷..
2025年普法学法知识竞赛题库附答案【综合卷..
2025年汽车维修工技能理论考试题库及参考答..
在线
客服
微信
客服
意见
反馈
手机
查看
返回
顶部