




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1、9章文件1。概述文件:表示存储在磁盘等外部介质上的数据集合。二进制文件:将内存中的数据按内部存储的方式保存到磁盘。文本文件:文字作为单位。位于具有行(“n”)结构的文件中。(也称为ASCII代码文件)用c语言对文件进行I/O处理是通过库函数执行的。标准I/O函数是c语言和操作系统接口。文件类型,2,高级I/O函数:get char()FPR intf()put char()fcanf()printf()getc()scanf()步骤:打开现有文件:将文件指针或文件描述符链接到外部文件。读取或写入文件的内容:通过文件指针或描述符读取或写入。关闭打开的文件:断开文件指针或文件描述符与外部文件之间的连接,然后关闭4,2 .使用标准函数处理文件。文件文件指针标准I/o函数可以通过操作文件类型(称为中定义的结构类型)的指针(称为文件指针)来访问文件。三个标准文件指针:stdin标准输入文件指针:用于从键盘获取文件的指针stdout标准输出文件指针:指向屏幕输出文件的指针stderr标准错误输出文件指针:用于从屏幕输出错误文件的指针。备注:启动程式时,会自动开启标准输入、输出及错误输出档。I .打开和关闭文件1。文件打开函数fopen格式:FILE*fopen(使用文件名、文件方法)。其中,用双引号括起文件名:文件路径名、文件名或扩展名。文本文件,“r”打开用于读取的文本文件,“w”打开或创建用于写入的文件。“a”将数据添加到文件末尾,然后打开或创建用于写入的文本文件。“r”打开用于更新的文本文件(读取和写入),“w”创建用于更新的文本文件(读取和写入),“Rb”打开用于读取的二进制文件。“WB”打开并创建用于写入的二进制文件。返回值:打开成功返回打开文件的指针。如果失败,则返回NULL。示例: if(FP=fopen( c : a b file 1 . c , r )=null) printf( can exit(0);/*结束程序运行,返回操作系统,打开的文件*/,2 .自动关闭文件中关闭的fclose函数。格式:fclose(文件指针)返回值:错误返回EOF,否则返回0e of stdio . h中的-1,7,3。文本文件的读写1 .文件的读取函数fgetc格式:ch=FGC(FP);其中FP是文件指针变量,ch是基于字符的变量。功能:从指定文件读取单个字符。此文件必须以读或读/写方式打开。一个字符(如果eof是文件终止符EOF,则返回EOF(-1)2。文件的写入函数fputc格式:fputc(ch,FP);/*ch:字符常量或字符数*/函数:将字符写入磁盘文件,并返回EOF、8、4等的值。例如,1:是从键盘输入的文字字符串(生成文件),#includemain()FILE*fp,Charch,filename10;scanf(“% s”,文件名);If (FP=fopen (filename, w )=null) printf( cannot openfile n );exit(0);,ch=getchar();While(ch!=“” f putc(ch,FP);ch=getchar(); f close(FP);,9,示例2:将信息(文本文件)从一个磁盘文件复制到另一个文件,#includemain()FILE*in,* outCharinfile10,outfile10;printf( enter thefilename 103360 n );scanf(“% s”,infile);printf( entertheoutfilename 103360 n );scanf(“% s”,outfile);10,if (in=fopen (infile,r)=null)/*处理二进制文件时,请将“r”设置为“Rb”*/ printf(“”exit(0); if (out=fopen (outfile,“w”)=null)/*“w”表示“WB”*/ printf(“cantf”)exit(0);while(!feof(in)fputc(fgfetc(in),out);f close(in);f close(out);,11,示例3。使用命令行参数将文本文件file.c复制到文本文件file2.c中。#includemain(argc,argv)intargc;char * argv;FILE*in,* outIf(argc!=3) printf(“youforgettranterafilename : n”);exit(0);,12,if (in=fopen (argv 1,r)=null) printf( cannoopen infile : exit(0); if (out=fopen (argv 2, r )=null) printf( cannoopenoutfile n )exit(0);while(!feof(in)fputc(fgfetc(in),out);f close(in);f close(out);命令行:ccopyfile1.cfile2.c,5 .二进制处理1。读取群组读取、写入资料函数:fread(buffer,size,count,FP);/*返回值是数据项的计数值。否则,错误*/写入:fwrite(buffer,size,count,FP);/*返回值是要写入的数据项数count。否则,错误*/,其中buffer:是指向fread函数(要从中读取数据的存储地址)的指针,是指向fwrite函数(要输出的数据的第一个地址)的值。Size:要读取或写入的字节数。Count:要读取或写入几个size字节的数据项fp:基于文件的指针示例:for(I=0;I40I)将fread(/* FP指向的文件的内容作为一个结构数据读取,并发送到内存中的结构数组。*/,2 .示例将0-359度的正弦值存储在二进制文件“sinx.dat”中,在此文件中每9行在屏幕上显示数据。# define # definedvoidmain () inti,j=1;弗洛斯tbuf360;FILE*fp,* fp1if(FP=fopen(“sinx . dat”,“WB”)=null)/*写入打开的文件*/ printf(“cannot openfile ”exit(0);,for(I=0;I360计算存储在I )/* buf数组中的0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合肥长丰县文化馆秋学期二胡老师招聘考试备考题库及答案解析
- 2025云南省住房和城乡建设厅招聘事业单位人员2人备考考试题库附答案解析
- 2025浙江宁波象山县荔港学校招聘工作人员4人备考考试题库附答案解析
- 2026中国邮政储蓄银行北京分行校园招聘备考考试题库附答案解析
- 2026年度中国农业银行江苏省分行校园招聘备考考试题库附答案解析
- 校园文学活动策划方案模板
- 2025福建漳州卫生事业单位招聘71人备考考试题库附答案解析
- 2025福建泉州市永春县金源城市建设有限公司招聘测绘技术人员及财务人员7人备考考试题库附答案解析
- 智慧金融与金融科技-洞察及研究
- 基于大数据的印刷行业需求预测模型研究-洞察及研究
- 2025年9月20日云南省直机关遴选公务员笔试真题及答案解析
- 合同纠纷民事起诉状模板示例
- 2025广东广州市花都区招聘社区专职工作人员50人考试参考题库及答案解析
- 2025四川蜀道养护集团有限公司招聘15人考试参考题库及答案解析
- 2025年秋季上饶银行招聘考试参考题库及答案解析
- 2025至2030中国汽车模塑件行业项目调研及市场前景预测评估报告
- 投标服务响应应急方案(3篇)
- 自动控制原理课件第九章状态空间分析法
- 2025年安全工程师《安全生产管理》考前模拟卷(一)
- 综合实践 记录我们的校园(教案)北师大版数学三年级上册
- 第4课 探究智慧农业应用领域 课件【教科版】《信息科技》八年级上册
评论
0/150
提交评论