




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I/O流的概念I/O流的概念I/O流的概念I/O流的概念输出流输出流输出流输出流输出流输出流输出流输出流输出流输出流ios:skipws Skip white space on input.ios:left Left-align values; pad on the right with the fill character.ios:right Right-align values; pad on the left with the fill character (default alignment).ios:internal Add fill characters after any lea
2、ding sign or base indication, but before the value.ios:dec Format numeric values as base 10 (decimal) (default radix).ios:oct Format numeric values as base 8 (octal).ios:hex Format numeric values as base 16 (hexadecimal).ios:showbase Display numeric constants in a format that can be read by the C+ c
3、ompiler.ios:showpoint Show decimal point and trailing zeros for floating-point values.ios:uppercase Display uppercase A through F for hexadecimal values and E for scientific values.ios:showpos Show plus signs (+) for positive values.ios:scientific Display floating-point numbers in scientific format.
4、ios:fixed Display floating-point numbers in fixed format.ios:unitbuf Cause ostream:osfx to flush the stream after each insertion. By default, cerr is unit buffered.ios:stdio Cause ostream:osfx to flush stdout and stderr after each insertion. 例例 设置对齐方式设置对齐方式#include#includevoid main( ) double values=
5、1.23, 35.36,653.7,4358.24; char*names=Zoot, Jimmy, Al, Stan; for(int i=0;i4;i+) coutsetiosflags(ios:left)/左对齐左对齐 setw(6)namesi resetiosflags(ios:left)/恢复默认恢复默认 setw(10)valuesIendl;控制输出精度:用setprecision操纵符#include#includevoid main( ) double values=1.23,35.36,653.7,4358.24; char*names=Zoot, Jimmy, Al,
6、Stan; for(int i=0;i4;i+) coutsetiosflags(ios:left) setw(6)namesi resetiosflags(ios:left) setw(10)setprecision(1)valuesIendl;输出流程序运行结果:Zoot 1Jimmy 4e+001Al 7e+002Stan 4e+003若改为若改为setprecision(3),即即3位有效数字,结果位有效数字,结果成为:成为:Zoot 1.23Jimmy 35.4Al 654Stan 4.36e+003原数据为: 1.23, 35.36, 653.7, 4358.24不必使用不必使用r
7、esetprecision,可直接修改精度。,可直接修改精度。输出流程序运行结果:234 eaea 352352 234程序运行结果:20H 21H ! 22H 23H # 24H $ 25H % 26H & 27H 28H ( 29H ) 2aH * 2bH + 2cH , 2dH - 2eH . 2fH /30H 0 31H 1 32H 2 33H 3 34H 4 35H 5 36H 6 37H 738H 8 39H 9 3aH : 3bH ; 3cH 3fH ?40H 41H A 42H B 43H C 44H D 45H E 46H F 47H G48H H 49H I 4aH
8、 J 4bH K 4cH L 4dH M 4eH N 4fH O50H P 51H Q 52H R 53H S 54H T 55H U 56H V 57H W58H X 59H Y 5aH Z 5bH 5cH 5dH 5eH 5fH _60H 61H a 62H b 63H c 64H d 65H e 66H f 67H g68H h 69H i 6aH j 6bH k 6cH l 6dH m 6eH n 6fH o70H p 71H q 72H r 73H s 74H t 75H u 76H v 77H w78H x 79H y 7aH z 7bH 7cH | 7dH 7eH 输出流输出流输
9、出流输出流程序运行结果:文件date.dat的内容是:06 00 00 00 0A 00 00 00-5C 00 00 00正好是十进制数正好是十进制数6、10、92的二进制表示,每个数的二进制表示,每个数4个字节。个字节。如果以文本方式打开,程序运行结果:文件date.dat的内容是:06 00 00 00 0D 0A 00 00-00 5C 00 00 00十进制数十进制数10前面增加了一个前面增加了一个0D,即换行符的即换行符的ASCII码,其余不变。可见并不能直接按文本方式输出。码,其余不变。可见并不能直接按文本方式输出。而且使而且使10的输出(认为是的输出(认为是ASCII码码0A)
10、变为回车换变为回车换行符。行符。输出流输出流输出流输入流输入流输入流#includevoid main( ) char ch; while (ch=cin.get()!=EOF) cout.put(ch);运行时输入:运行时输入: abc xyz 123则输出:则输出: abc xyz 123注:先输入到一个缓冲区,再由注:先输入到一个缓冲区,再由get读入,读入,put输出。输出。输入流#includevoid main( ) char ch; while (ch=cin.get()!=EOF) cout.put(ch);运行时输入:运行时输入: abc xyz 123则输出:则输出: ab
11、c xyz 123注:先输入到一个缓冲区,再由注:先输入到一个缓冲区,再由get读入,读入,put输出。输出。例例 读入一串字符到读入一串字符到line数组,以数组,以t终止终止#include void main() char line100; cout“Type a line terminated by t” endl; cin.getline(line,100,t); coutline;例例 从一个从一个payroll文件读一个二进制记录到一个结构中文件读一个二进制记录到一个结构中#include#include#includevoid main( ) struct double sal
12、ary; char name23; employee;ifstream is (payroll,ios:binary |ios:nocreate); if(is) is.read(char*)&employee,sizeof(employee); employee.salaryendl; else coutERROR:Cannot open file payroll.endl; 输入流例例 读一个文件并显示出其中空格的位置读一个文件并显示出其中空格的位置#includevoid main( ) char ch; ifstream tfile (pay
13、roll,ios:binary |ios:nocreate); if(tfile) while (tfile.good( ) streampos here=tfile.tellg( ); tfile.get(ch); if(ch= ) coutnPositionhereis a space; else coutERROR:Cannot open file payrollendl; 文件文件payroll的内容:的内容: 123 44 5555 6 ios:goodPosition3 is a spacePosition6 is a spacePosition11 is a spacePosit
14、ion12 is a spacePosition13 is a space.ios:goodint good() const;Return ValueReturns a nonzero value if all error bits are clear. Note that the good member function is not simply the inverse of the bad function. 可以把流的概念连接到字符串(可以把流的概念连接到字符串(string)上。文件在)上。文件在C+看来是字节流或字符流,串当然更可以看作字符流。看来是字节流或字符流,串当然更可以看作
15、字符流。可以用输入输出操作来完成串流的操作。其他的流是与设可以用输入输出操作来完成串流的操作。其他的流是与设备相关,而串流是与内存相关,所以也称内存流。备相关,而串流是与内存相关,所以也称内存流。 串流类包括串流类包括ostrstream、istrstream、strstream。它们在它们在中说明。串流类对象可以保存字符,中说明。串流类对象可以保存字符,也可以保存整数、浮点数。串流类对象采用文本方式,如也可以保存整数、浮点数。串流类对象采用文本方式,如同文本文件一样。其构造函数常用下面几个:同文本文件一样。其构造函数常用下面几个:istrstream:istrstream(const char * str);istrstream:istrstream(const char * str,int);ostrstream:ostrstream(char *,int,int=ios:out);以串流为信息源:char str36=”This is a book.n”;char ch;istrstream input(str);inputch;/从输入设备(串)读入一个字符coutchendl;/输出T例:将整数和浮点数放入串中,并取出来。例:将整数和浮点数放入串中,并取出来。 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村委会与农产品加工企业签订2025年度原料基地租赁合同
- 二零二五年度赡养父母责任分担与夫妻协作协议
- 2025年中国礼品配套巾市场调查研究报告
- 二零二五年度合伙酒吧战略规划与执行合同
- 2025年度汽车经销商集团促销活动合同
- 2025年中国电脑肛肠综合治疗仪市场调查研究报告
- 二零二五年度个人房产买卖合同(含交易佣金处理)
- 二零二五年度教育培训机构店铺租赁合同协议书
- 2025年度解除劳动合同经济补偿金发放标准及争议解决合同
- 二零二五年度文化产业园运营管理派遣服务协议
- 翰威特任职资格撰写培训材料
- 大家排好队说课
- 铁氧体永磁材料
- 湘教版初中数学教材目录
- 金蝶云星辰初级考试题库
- GM/T 0107-2021智能IC卡密钥管理系统基本技术要求
- GB/T 6967-2009工程结构用中、高强度不锈钢铸件
- 部编版七年级下册语文第一单元课件
- 2023年山东省青岛市统招专升本管理学自考真题(含答案)
- 文化产业政策与法规课件
- 人教版八年级下册生物全册教案完整版教学设计含教学反思
评论
0/150
提交评论