网站大量收购独家精品文档,联系QQ:2885784924

第10章输入输出流NEW(夏老师)概述.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.1 文件概述[补充] 文件有不同类型,在程序设计中主要用到两种文件: (1)程序文件: 包括源程序文件(后缀.cpp)、目标文件(后缀.obj)、可执行文件(后缀.exe) (2)数据文件 文件的内容不是程序,而是供程序运行时读写的数据。 本章主要讨论数据文件 所谓“数据文件”一般指存储在外部介质上数据的集合。操作系统以文件为单位进行管理。 输入输出是数据的传输过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流stream,即数据流 10.1.2 文件的分类 数据在二进制文件与ASCII文件中存储方式? 字符一律以ASCII形式存储,数值型数据可以用ASCII码形式存储,也可用二进制形式存储。如整数10000,用ASCII码形式输出到磁盘,则在磁盘中占5个字节(每一个字符占一个字节),而用二进制形式存储,则在磁盘上占4个字节(用Visual C++时)。 10.1.3 文件缓冲区 ASCII标准采用“缓冲文件系统”处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区。从内存向磁盘输出数据必须先送到内存中的文件缓冲区,装满缓冲区后才一起送到磁盘去;反过来,如果计算机从磁盘读入数据,则一次从磁盘文件将一批数据读入到文件缓冲区(充满缓冲区),然后再从缓冲区将数据逐一送到程序数据区(给程序中的变量)。 cin是类istream内置的标准流类对象,能构成从键盘到内存的标准输入流。 cout是类istream内置的标准流类对象,能构成从内存到屏幕的标准输出流。 1. 使用流操作符对输出操作进行格式化 不带参数的流操纵符 endl dec/oct/hex 十/八/十六进制 带参数的流操纵符 (注意:需包含头文件iomanip) setbase(int base) 设置数制转换基数为base setfill(int ch) 将填充字符设置为ch setprecision(int p) 设置数字精度 setw(int w) 将域宽设置为w setiosflags(fmtflags flags) 开启flags中指定的标志 resetiosflags(fmtflags flags) 关闭flags中指定的标志 其中,流格式状态标志字(flags): ios::left 在域中左对齐输出,右边显示填充字符 ios::dec 指定整数应作为十进制(基数10)值 ios::hex 指定整数应作为十六进制(基数16)值 ios::showpos 指定正数和负数前面分别加上+和-号 ios::fixed 指定浮点数以小数方式输出 ios::scientific 指定浮点数输出采用科学记数法 例10-3:设置实型数的精度 例10-4:改变整数的进制 例10-5:设置输出宽度、填充字符和对齐方式 2. 使用ios类的格式控制成员函数对输出操作进行格式化 格式化函数 width(w) 设置显示字段宽度为w precision(p) 设置浮点数精度为p fill(ch) 设置填充字符为ch setf(flags) 设置输出格式状态为flags 其中,流格式状态标志字(flags): ios::left 在域中左对齐输出,右边显示填充字符 ios::dec 指定整数应作为十进制(基数10)值 ios::hex 指定整数应作为十六进制(基数16)值 ios::showpos 指定正数和负数前面分别加上+和-号 ios::fixed 指定浮点数以小数方式输出 ios::scientific 指定浮点数输出采用科学记数法 unsetf(flags) 清除格式标记flags 其中,流格式状态标志字(flags)同前。 #include iostream using namespace std; int main() { cout.precision(4); cout.width(10); cout 10.12345 endl; cout.fill(*); cout.width(10); cout 10.12345 endl; cout.width(10); cout Hi! endl; cout.width(10); cout.setf(ios::left); cout 10.12345endl; cout.setf(ios::uppercase | ios::scientific); cout 10.12345endl; cout.unsetf(ios::uppercase); cout 10.12345endl; return 0; } 规 则 记住:成员函数widt

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档