C++基础知识(三)C++的输入和输出及操纵符

来源:互联网 发布:3阶矩阵的逆怎么求 编辑:程序博客网 时间:2024/04/28 06:33

     虽然在第一篇博客中已经总结了C++的基本的输入对象cin,但是感觉到有很多的东西还是没有总结到位,在此再补上一篇。我们都知道,C++对输入和输出采用的是文件流,这个和java是类似的。我们可以想象一下流的概念,数据就像流水一样,连续不断,前赴后继,感觉这个概念是很生动啊,流(stream)用的非常好。cin和cout是C++中的标准流。在这里着重回忆一下,流中操纵符的使用,输入和输出可以被操纵符格式化。个操纵符如下:

(1)setw,setfill

#include <iostream>#include <iomanip>using namespace std;void main(){float f1 = 2.99;float f2 = 8.90909;int i = 10;cout << setfill('*');cout << setw(10) << f1 <<endl;cout << setw(10) << f2 <<endl;cout << setw(10) << i <<endl;}


其中setw是设置域宽,就是输出数据所占几列,如果在默认的情况下,输出的数据不能达到所规定的域宽就用空格填充,当然也可以用setfill来设置填充物,如上例中设置的就是用“*”来填充空的列。在使用操纵符时,需要包含头文件iomanip。需要注意的是,所有的操纵符除了setw之外,对流的影响都是永久的,除非用户再次进行设置。而setw默认是setw(0),每次使用完setw之后,域宽又被重新置为0,这就需要在每一次使用时都进行设置。如上例中,3次输出就设置了3次,而setfill却只设置了一次。setw还有一点需要说明,如果setw设置的域宽小于实际数据的域宽时,仍然按照数据的实际宽度来显示。

 

(2)setprecision用来设置浮点数的精度,默认精度为6位。left和right用来控制左对齐和右对齐,showpoint用来强制显示小数点及全部尾部的0,fixed强制浮点数以定点格式输出。

 

     C++中的操纵符还有很多,个人感觉没必要去记,只需要再用到的时候,查阅一下就可以了。用的多了,自然也就熟悉了。

原创粉丝点击