C++学习笔记 2014-9-21 对象和类入门
2014-09-21 22:58 想打架的蜜蜂 阅读(159) 评论(0) 收藏 举报1、上一篇讲过为流设置cout::setf(ios::showpos),则输出到那个流得正数添加正号,注:如果不设置任何标记,负数前也会显示负号
2、cout<<"Now";
cout.width(4);
cout<<7<<endl;
这段代码会导致屏幕上出现以下输出:Now 7
在输出中,字母W与数字7之间有3个空格。width函数的作用是告诉流一个输出项需要占多少个字符位置。本例中,输出项7只占一个字符位置,而width要求使用4个字符位置,所以其他三个位置用空格来填充,如果输出所需要字符位置数目超过了在width函数调用中指定的数目,就自动补足缺少的字符位置,总之,输出项始终都会完整输出,不会被截断,不管你为width指定的参数是什么。
3、操纵员setw
cout<<"Start"<<setw(4)<<10<<setw(4)<<20<<setw(6)<<30;
这个语句将生成以下输出(注意:10之前有2个空格,20之前有2个空格,30之前有4个空格)
4、操纵员setprecision
对操纵员setprecision的调用要放在插入操作符<<之后,这类似于setw操纵员
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout<<"$"<<setprecision(2)<<10.3<<endl<<"$"<<20.5<<endl;
以上语句的输出是:
$10.30
$20.50
使用setprecision操纵元来设置小数位数时,和成员函数precision的情况一样,设置会一直生效,直到你把他设置为其他数字,要使用setprecision和setw操纵员,必须在程序中包含以下预编译指令:
#include<iomanip>
流可用作函数实参,唯一的限制就是函数的形参必须是传引用调用的。流参数不能是一个传值调用参数。
从一个文件中读取输入,则可用while(in_stream>>next){},其中汲取提取操作符>>的表达式既是一个行动,也是一个布尔条件。从输入流读取一个数字,如果没有数据可读,将返回false,循环体将不再执行。