- 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语言 主讲人:傅守忠(基础教学部) E-Mail:szfu@; shzhfu@ 第二十一讲: 文件 上一讲的主要内容 结构的嵌套; 结构的成员含数组; 结构组成的数组; 共同体: union 共同体名 { 成员列表; }; 数据流 数据从一个位置向另一个位置的流动称为数据流. 数据的流动总是和一个设备或介质有关. 如:键盘 ? 内存变量 ?内存变量 ? 显示器 等. 称存储在磁盘等介质上的数据集合为文件. 键盘、显示器和打印机等外部设备也可看做“文件” —— 设备文件. 数据文件 数据流可分为文本流和二进制流. 文本流是字符组成的序列(字符串), 都是可以直接从键盘输入或显示的字符. 它形成的文件叫文本文件. 二进制流是由字节组成的序列, 它一般是经过转化后的数据. 它形成的文件叫二进制文件. 如图片等. 数字可以以文本形式存放, 如”123”占3个字节, 也可以以二进制形式存放, 如0000 0000 0000 0000 0000 0000 1111 1011占4个字节. 文件操作过程 文件存放在磁盘上, 但使用其中的数据时, 需要把它以字节为单位先装入到内存的缓冲区, 再从缓冲区读入到变量. 写入到文件的过程正好相反. 文件类型(FILE) 对文件进行存取, 需要用到: 文件的使用方式(读还是写)、缓冲区的地址、缓冲区的大小、缓冲区中当前读写位置、数据流的最后位置等。 C语言在stdio.h文件中定义了一个结构体FILE, 我们可用它为使用的每个文件定义一个文件指针. 如: FILE *fp1, *fp2; 打开文件 打开文件是指为一个文件申请所使用的缓冲区, 用到的函数是fopen(), 格式为: 文件指针变量 = fopen(文件名,”使用方式”) 其中: 文件名是一个字符串, 可包含文件的路径, 如 D:\\fsz\\sy1\\q.txt (D盘fsz文件夹下sy1子文件夹中的文件q.txt) 缺省路径, 则使用VC默认文件夹. 文件使用方式 使用方式 r --- read w --- write a --- append t --- text b --- binary + --- 读和写 它们可联合使用. 打开文件 如: fp1=fopen(“d:\\file1.txt”,”r”) 为了读而打开d盘的(文本文件)file1.txt; fp2=fopen(“d:\\file2.txt”,”w”) 为了写而打开或创建d盘的(文本文件)file2.txt; fp1=fopen(“d:\\file3.exe”,”b”) 为了读而打开d盘的二进制文件file3.exe; fp1=fopen(“d:\\file4.txt”,”r+”) 为了读和写而打开d盘的(文本文件)file4.txt 判断 执行打开文件的函数后, 若打开成功, 则返回对应的文件指针(每个文件一个); 若不成功, 则返回空指针. 用if(fp1==NULL) 或if(!fp1)判断是否不成功, 也可与打开合并, 如 if((fp=fopen(“a.txt”,”r”))==NULL) { printf(“打开文件出错”); exit; } 关闭文件 使用完文件后, 需要关闭文件, 以释放缓冲区, 且将缓冲区的数据保存到磁盘. 格式 fclose(文件指针); 它也有返回值, 0表示成功, 其它不成功, 不同的数表示不成功的原因(我们不再区分). 对标准设备文件stdin(键盘), stdout(显示器)及sprn(打印机)都可以不进行打开和关闭. 字符的读写 以字符形式读写文件的函数分别是: fgetc(文件指针); //返回所读字符, EOF表示未读到字符 和 fputc(字符, 文件指针); 返回值为0表示成功, 1或其它值表示不成功. 注: 它们在stdlib.h中. 例(写文本文件) #includestdio.h #includestdlib.h void main() { char ch; FILE *fp; fp=fopen(d:\\test.txt, w); if(!fp) { printf(文件打开出错!); exit(1); } 例(读文本文件) 见程序. 例(复制文本文件) 见程序. 字符串读写 格式: fputs(字符串变量, 文件指针);
您可能关注的文档
最近下载
- 电力锅炉压力容器安全监督管理工作规定2000.465.pdf VIP
- 高考英语读后续写(动作描写).docx VIP
- T CSES 101—2023 大气环境健康风险地图编制技术指南.pdf VIP
- 贵州省中医药管理局直属事业单位招聘考试真题2025.docx VIP
- 功德碑撰写范文.pdf VIP
- INOVANCE汇川MD600系列紧凑型变频器综合手册-中文.pdf VIP
- 幼儿园大班拼音连线|图片素材打印【幼儿教案】.doc VIP
- JTS_T 226-2021 水运工程自密实混凝土技术规范.docx VIP
- 盒马鲜生“最后一公里”配送路径优化研究—以深圳市3区为例.docx VIP
- 小农水工程验收监理工作报告.doc VIP
原创力文档


文档评论(0)