




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章标准输入输出标准输入输出的基本操作非格式化输入输出格式化输入输出11.1标准输入输出的基本操作文件控制结构中包含处理文件所需的全部信息,例如文件名、文件当前的读写位置、用于该文件读写的内存缓冲区位置等。打开文件时,系统会在内存中自动建立该文件的控制结构。关闭文件时,文件控制结构被释放。在对文件进行操作之前,要首先获取文件的指针,即指向文件控制结构的指针,后续操作都通过该指针进行。标准输入输出时,有3个比较特殊的文件,它们是:标准输入文件(stdin):一般为键盘;标准输出文件(stdout):一般为显示器;标准错误输出文件(stderr):一般为显示器。11.1.1文件的打开操作文件之前要打开文件,打开文件主要是在系统中分配一些资源用于保存该文件的状态信息,并获取文件的指针,以后调用其它函数对文件进行读写操作时都要提供这个指针。
FILE*fopen(constchar*filename,constchar*modes);11.1.2文件的关闭对文件操作完成后,应该关闭文件,进而释放文件所占用的系统资源。文件关闭之后,文件指针将不再有效,用户也就无法通过该指针操作文件。
intfclose(FILE*fp);11.1.3缓冲区的刷新刷新操作是指将缓冲区中的数据清除,这项工作可以由fflush或fpurge函数完成。
intfflush(FILE*fp); intfpurge(FILE*fp);11.1.4缓冲区属性的设置缓冲区的大小和类型等都可以通过函数来设置,缓冲区的类型有下面三种:全缓冲:缓冲区被填满后才执行输入输出操作,将数据写入到磁盘文件或输出到用户终端;行缓冲:缓冲区中填入换行符时,执行输入输出操作;无缓冲:不对数据进行缓存,标准错误输出stderr一般就是无缓冲的,这可以使错误信息尽快地显示出来。intsetvbuf(FILE*fp,char*buf,intmode,size_tsize);_IOFBF、_IOLBF、_IONBF11.2非格式化输入输出非格式化输入输出包括单个字节输入输出、字符串(行)输入输出以及数据块输入输出,下面分别进行介绍。11.2.1单个字节输入输出在进行单个字节的输入输出操作时,可以使用fgetc函数和fputc函数。
intfgetc(FILE*fp); intfputc(intc,FILE*fp); intgetchar(); intfgetc(stdin); intputchar(intc); intfputc(c,stdout);11.2.1单个字节输入输出rewind函数
voidrewind(FILE*fp);fseek函数
intfseek(FILE*fp,longoffset,intwhence); fseek(fp,0,SEEK_SET); fseek(fp,0,SEEK_END);ftell函数
longftell(FILE*fp);11.2.2字符串输入输出对文件的输入输出,除了可以利用fgetc函数和fputc函数以字节为单位进行外,还可以使用fgets函数和fputs函数以字符串(行)为单位进行。
char*fgets(char*s,intn,FILE*fp); intfputs(constchar*s,FILE*fp);11.2.3数据块输入输出对文件进行输入输出操作,也可以以数据块为单位进行。所谓数据块,是指一串固定长度的字节,例如一个整型数据、一个结构体,或一个固定长度的数组等。
size_tfread(void*ptr,size_tsize,size_tn,FILE*fp); size_tfwrite(void*ptr,size_tsize,size_tn,FILE*fp);11.3格式化输入输出格式化输出的函数
intfprintf(FILE*fp,constchar*format,...);
intprintf(constchar*format,...); intfprintf(stdout,constchar*format,...); %[+/-][0][m.n][l]转换字符11.3格式化输入输出1.转换字符2.指定输出精度l3.指定输出长度m.n doublex=0.123; printf("%9.4f\n",x); 0.12304.空位填零0 intx=123; printf("%06d\n",x); 0001235.指定输出位置+字母输出形式示例d十进制整数10o八进制整数12x十六进制整数au无符号十进制整数10c单个字符As字符串ABCe指数形式的浮点数1.230000e-01f小数形式的浮点数0.123000ge和f中较短的一种0.123%百分号本身%charc[]=”ABCD”;printf("%-5.3s\n ",a);printf("%+5.3s\n",a);ABCABC11.3格式化输入输出格式化输入的函数
intfscanf(FILE*fp,constchar*format,...);
intscanf(constchar*format,...); intfscanf(stdin,constchar*format,...); scanf("%d%d",&x,&y); scanf("%d,%d",&x,&y); scanf("%10s",s);11.4常见面试题常见面试题1:调用fgets函数从文件中读取字符时,函数在满足什么条件时返回?常见面试题2:调用fprintf函数进行格式化输出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二房东协议合同样本
- ktv购销合同样本
- 2025化工企业职业病防护告知合同
- 公司酒水采购合同样本
- 供价合同标准文本
- 传媒主播合同样本
- 公司授权开店合同范例
- 关于学校物业合同样本
- 众筹修路合同标准文本
- 代理采购合同样本
- 卫健系统深入开展矛盾纠纷“大走访、大排查、大化解”专项行动工作方案
- 三年级音乐上册 《法国号》课件教学
- 乡镇(街道)财政运行综合绩效评价报告及自评指标
- 餐饮部作业流程图
- 代建项目管理手册
- WS/T 510-2016病区医院感染管理规范
- GB/T 15065-2009电线电缆用黑色聚乙烯塑料
- 中层干部任期考核民主测评表
- 十二经络及腧穴课件
- 办公室工作存在问题(总结12篇)
- 精细化工产品公司企业经营战略方案
评论
0/150
提交评论