weibo_dm的博客

不知道填什么

【C++】输出流

COUT函数

在C语言中,我们一般用printf()函数来进行输出,通过输出字符串中的格式说明符(如%4.2d)可以很容易地格式化输出。而在C++中,为简便起见,往往不指定输出的格式,由系统根据数据的类型采取默认的格式,但有时也需要数据按我们指定的格式输出,比如以十六进制的形式输出一个整数等。有两种方法可以达到格式化输出的目的,一种是使用流对象的有关成员函数,还有一种是使用控制符方法,这两种方法殊途同归,它们的原理和起到的作用都是一样的,只不过使用形式不一样。
一般形式为:cout<<<表达式>[<<<表达式2>>>…>><表达式n>];

using namespace std;     //此句也可以在main函数体中出现。
int main()
{
    int a;
    cout << "请输入一个数字,按回车结束" << endl;
    cin >> a;
    cout << a << endl;
    return 0;
}

格式标志 作用

ios::left 输出数据在本域宽范围内向左对齐
ios::right 输出数据在本域宽范围内向右对齐
ios::internal 数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充
ios::dec 设置整数的基数为10
ios::oct 设置整数的基数为8
ios::hex 设置整数的基数为16
ios::showbase 强制输出整数的基数(八进制数以0打头,十六进制数以0x打头)
ios::showpoint 强制输出浮点数的小点和尾数0
ios::uppercase 在以科学记数法格式E和以十六进制输出字母时以大写表示
ios::showpos 对正数显示“+”号
ios::scientific 浮点数以科学记数法格式输出
ios::fixed 浮点数以定点格式(小数形式)输出
ios::boolalpha 以“true”/“false”的形式输出布尔值
ios::unitbuf 每次输出之后刷新所有的流
ios::stdio 每次输出之后清除stdout, stderr

#include<iostream>
using namespace std;
int main()
{
int a =5;
cout<<a<<"转换成16进制数是:"<<hex<<a<<"八进制数是:"<<oct<<a<<endl;
return 0;
}

调整字宽、填充字符

int main()  
{  
    using std::cout;  
    int w = cout.width(30);  
    cout << "default field width = " << w << ":\n";  
    cout.width(5);  
    cout << "N" <<':';  
    cout.width(8);  
    cout << "N * N" << ":\n";  
    for (long i = 1; i <= 100; i *= 10)  
    {  
        cout.width(5);  
        cout << i <<':';  
        cout.width(8);  
        cout << i * i << ":\n";  
    }  
    cout.fill('*');  
    const char * staff[2] = { "Waldo Whipsnade", "Wilmarie Wooper"};  
    long bonus[2] = {900, 1350};  

    for (int i = 0; i < 2; i++)  
    {  
        cout << staff[i] << ": $";  
        cout.width(7);  
        cout << bonus[i] << "\n";  
    }  
    return 0;   
}  
阅读更多
个人分类: C++
想对作者说点什么? 我来说一句

C++输入流输出流的控制符

2011年11月15日 41KB 下载

没有更多推荐了,返回首页

不良信息举报

【C++】输出流

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭