例1:使用流cer和log实现数据的输出 1401 本例中可用cout代替cer和clog。其作用相同。不同之处为: 流cout允许输出重定向,而cer和clog不允许 般提示输入数据的信息用流clog, 提示错误信息用流cer,输出的结果数 据用流cout 2021/224 11
2021/2/24 11 例1:使用流cerr和clog实现数据的输出。 1401 本例中可用cout代替cerr和clog。其作用相同。不同之处为: 流cout允许输出重定向,而cerr和clog不允许。 一般提示输入数据的信息用流clog, 提示错误信息用流cerr,输出的结果数 据用流cout
注 l.cin输入多个数据时,键盘输入不要用逗号隔开,只需用空 格或换行将数值隔开。如: cin>>X>>y, 输入为:1020 不能输入为:10,20 2.类型的匹配问题:不同类型的变量一起输入时,系统除检 查是否有空白,还要检查输入数据与变量的匹配问题。如: cin ⅹ/i为整型,x为实型 若输入567932.85 结果为:i=56,x=0.79 而不是i=56,x=32.85 3.输入字符串时,字符串中不能有空格,一旦遇到空格,就 当着是本数据结束。如 cin > str 当输入为 We are students 212结果为str=Wke,而不是sr= We are student
2021/2/24 12 注: 1. cin输入多个数据时,键盘输入不要用逗号隔开,只需用空 格或换行将数值隔开。如: cin >> x >> y; 输入为:10 20 不能输入为:10, 20 2. 类型的匹配问题:不同类型的变量一起输入时,系统除检 查是否有空白,还要检查输入数据与变量的匹配问题。如: cin >> i >> x //i为整型,x为实型 若输入 56.79 32.85 结果为:i=56, x=0.79 而不是 i=56, x=32.85 3. 输入字符串时,字符串中不能有空格,一旦遇到空格,就 当着是本数据结束。如: cin >> str; 当输入为 We are students! 结果为 str=We, 而不是str=We are student!
流的格式控制 标准输入/输出流的不足之处: ·整型变量输入的数只能是十进制、八进制、十六进制; 只能用十进制数输出整数; 制表输岀数据不能指定每个输出的数据占用的宽度 流的格式化输入/输出可解决,但只适用于文本流。 介绍常用的格式控制方法。 2021/224 13
2021/2/24 13 流的格式控制 标准输入/输出流的不足之处: •整型变量输入的数只能是十进制、八进制、十六进制; •只能用十进制数输出整数; •制表输出数据不能指定每个输出的数据占用的宽度。 流的格式化输入/输出可解决,但只适用于文本流。 介绍常用的格式控制方法
控制输入/输出格式的目的 进行不同进制之间的转换:8进制、16进制等 精度的控制:小数点的位数等 输入/输出的宽度控制。如:是输出100,还是100 格式之间的状态转换 控制输入输出格式的方法 使用ios类中的有关格式控制的成员函数 即由cin或cout流对象来调用其成员函数 sn: cout width(4); cout. precision(5) 使用操作函数控制格式 不要前缀流对象,直接调用操作函数。可以直接 嵌入到输入/输出语句中。 cout < setw (10)<< hex <<n<< endl 2021/2/24
2021/2/24 14 控制输入/输出格式的目的 进行不同进制之间的转换:8进制、16进制等 精度的控制:小数点的位数等 输入/输出的宽度控制。如:是输出100,还是 100 格式之间的状态转换 控制输入/输出格式的方法 使用ios类中的有关格式控制的成员函数 即由cin 或 cout 流对象来调用其成员函数 如:cout.width(4); cout.precision(5); 使用操作函数控制格式 不要前缀流对象,直接调用操作函数。可以直接 嵌入到输入/输出语句中。 cout << setw(10) << hex << n << endl;
预定立的函数 均包含在头文件 “ iomanip. h”中 +中预定义的格式控制函数 格式控制函数名 功能适用于输入、输出流 dec 设置为十进制 VO hex 设置为十六进制 VO oct 设置八进制 VO 提取空白字符 ent dl 插入一个换行符 O flush 刷新流 resetioflags(long)取消指定的标志 VO setioflags (long)设置指定的标志 VO tiim设置填充字符 setprecision(int)设置实数的精度 O00 setw(int) 设置宽度 ends 插入一个表示字符串结束的 NULL字符
2021/2/24 15 格式控制函数名 功 能 适用于输入、输出流 dec 设置为十进制 I/O hex 设置为十六进制 I/O oct 设置八进制 I/O ws 提取空白字符 I endl 插入一个换行符 O flush 刷新流 O resetioflags(long) 取消指定的标志 I/O setioflags(long) 设置指定的标志 I/O setfill(int) 设置填充字符 O setprecision(int) 设置实数的精度 O setw(int) 设置宽度 O ends 插入一个表示字符串结束的 NULL字符 C++中预定义的格式控制函数 预定义的格式控制函数 均包含在头文件 “iomanip.h”中