精华内容
下载资源
问答
  • cout输出格式控制

    2012-04-21 22:57:20
    主要是对cout之类的一些操纵运算子。它是I/O流控制头文件,就像C里面的格式输出一样。
  • C++ cout输出格式总结

    万次阅读 多人点赞 2017-11-20 11:45:18
    这篇文章主要讲解如何在C++中使用cout进行高级的格式输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等。通过本文,您可以完全脱离scanf/printf,仅使用cout来完成一切需要的格式化输入输出...

    这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等。通过本文,您可以完全脱离scanf/printf,仅使用cout来完成一切需要的格式化输入输出功能(从非性能的角度而言)。更进一步而言,您还可以在<sstream>、<fstream>上使用这些格式化操作,从而代替sprintf和fprintf函数。为方便描述,下文仅以cout为例进行介绍。

     

    一、综述

    cout是STL库提供的一个iostream实例,拥有ios_base基类的全部函数和成员数据。进行格式化操作可以直接利用setf/unsetf函数和flags函数。cout维护一个当前的格式状态,setf/unsetf函数是在当前的格式状态上追加或删除指定的格式,而flags则是将当前格式状态全部替换为指定的格式。cout为这个函数提供了如下参数(可选格式):

    • ios::dec  以10进制表示整数
    • ios::hex  以16进制表示整数
    • ios::oct  以8进制表示整数
    • ios::showbase  为整数添加一个表示其进制的前缀
    • ios::internal  在符号位和数值的中间插入需要数量的填充字符以使串两端对齐
    • ios::left  在串的末尾插入填充字符以使串居左对齐
    • ios::right  在串的前面插入填充字符以使串居右对齐
    • ios::boolalpha  将bool类型的值以true或flase表示,而不是1或0
    • ios::fixed  将符点数按照普通定点格式处理(非科学计数法)
    • ios::scientific  将符点数按照科学计数法处理(带指数域)
    • ios::showpoint  在浮点数表示的小数中强制插入小数点(默认情况是浮点数表示的整数不显示小数点)
    • ios::showpos  强制在正数前添加+号
    • ios::skipws  忽略前导的空格(主要用于输入流,如cin)
    • ios::unitbuf  在插入(每次输出)操作后清空缓存
    • ios::uppercase  强制大写字母

    以上每一种格式都占用独立的一位,因此可以用“|”(位或)运算符组合使用。调用setf/unsetf或flags设置格式一般按如下方式进行:

     

    1
    2
    cout.setf(ios::right | ios::hex); //设置16进制右对齐
    cout.setf(ios::right, ios::adjustfield); //取消其它对齐,设置为右对齐

     

    setf可接受一个或两个参数,一个参数的版本为设置指定的格式,两个参数的版本中,后一个参数指定了删除的格式。三个已定义的组合格式为:

    • ios::adjustfield  对齐格式的组合位
    • ios::basefield  进制的组合位
    • ios::floatfield  浮点表示方式的组合位

    设置格式之后,下面所有使用cout进行的输出都会按照指定的格式状态执行。但是如果在一次输出过程中需要混杂多种格式,使用cout的成员函数来处理就显得很不方便了。STL另提供了一套<iomanip>库可以满足这种使用方式。<iomanip>库中将每一种格式的设置和删除都进行了函数级的同名封装,比如fixed函数,就可以将一个ostream的对象作为参数,在内部调用setf函数对其设置ios::fixed格式后再返回原对象。此外<iomanip>还提供了setiosflags、setbase、setfill、setw、setprecision等方便的格式控制函数,下文会逐一进行介绍。大多数示例代码都会使用到<iomanip>,因此默认包含的头文件均为:

    1
    2
    #include <iomanip>
    #include <iostream>

     

    二、缩进

    将输出内容按指定的宽度对齐,需要用到ios::right、ios::left、ios::internal和iomanip里的setw。其中setw用于指定要输出内容的对齐宽度。以下两段代码的结果完全相同,前面是一个浮点数-456.98,后面紧跟着一个字符串“The End”以及换行符“endl”。

     

    代码一:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout.flags(ios::left); //左对齐
         cout << setw(10) << -456.98 << "The End"  << endl;
         cout.flags(ios::internal); //两端对齐
         cout << setw(10) << -456.98 << "The End"  << endl;
         cout.flags(ios::right); //右对齐
         cout << setw(10) << -456.98 << "The End"  << endl;
         return  0;
    }

     

    代码二:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout << left << setw(10) << -456.98 << "The End"  << endl; //左对齐
         cout << internal << setw(10) << -456.98 << "The End"  << endl; //两端对齐
         cout << right << setw(10) << -456.98 << "The End"  << endl; //右对齐
         return  0;
    }

     

    结果:

    -456.98   The End
    -   456.98The End
       -456.98The End

     

    这里要额外说明的一点是,setw函数会用当前的填充字符控制对齐位置,默认的填充字符是空格。可以通过<iomanip>的setfill来设置填充字符,比如下面的代码用字符“0”作为填充字符:

    1
    2
    3
    4
    5
    6
    7
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout << setfill( '0' ) << setw(10) << 45698 << endl;
         return  0;
    }

     

    结果:

    0000045698

     

    三、整数

    输出整数的格式有按不同进制数出:ios::hex(16进制)、ios::dec(10进制)、ios::oct(8进制),也可强制其输出符号(正数也加上“+”号前缀),对于16进制的输出还可配合ios::uppercase使所有字母以大写表示。代码示例如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout.setf(ios::showpos | ios::uppercase);
         cout << hex << setw(4) << 12 << setw(12) << -12 << endl;
         cout << dec << setw(4) << 12 << setw(12) << -12 << endl;
         cout << oct << setw(4) << 12 << setw(12) << -12 << endl;
         cout.unsetf(ios::showpos | ios::uppercase);
         cout << hex << setw(4) << 12 << setw(12) << -12 << endl;
         cout << dec << setw(4) << 12 << setw(12) << -12 << endl;
         cout << oct << setw(4) << 12 << setw(12) << -12 << endl;
         return  0;
    }

     

    结果:

       C    FFFFFFF4
     +12         -12
      14 37777777764
       c    fffffff4
      12         -12
      14 37777777764

     

    利用<iomanip>的setbase函数同样可以设置整数的三种进制,参数分别为8、10和16,但使用起来比上面的方法还更复杂一些,除非是特殊的代码规范要求(有些规范要求避免将常量直接作为表达式),一般不建议使用setbase。此外,还可以利用ios::showbase来为整数的前面加一个表示进制的前缀,代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout << showbase << setw(4) << hex << 32 << setw(4) << oct << 32 << endl;
         cout << noshowbase << setw(4) << hex << 32 << setw(4) << oct << 32 << endl;
         return  0;
    }

     

    结果:

    0x20 040
      20  40

     

    上面代码中的showbase/noshobase也可以用cout的setf来代替,其结果是完全相同的:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout.setf(ios::showbase);
         cout << setw(4) << hex << 32 << setw(4) << oct << 32 << endl;
         cout.unsetf(ios::showbase);
         cout << setw(4) << hex << 32 << setw(4) << oct << 32 << endl;
         return  0;
    }

     

    四、小数

    小数可分为两种格式类型,一种是定点表示“ios::fixed”(不带指数域),另一种是科学计数法表示“ios::scientific”(带指数域)。与<iomanip>的setprecision配合使用,可以表示指定小数点后面的保留位数(四舍五入)。示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout.setf(ios::fixed);
         cout << setprecision(0) << 12.05 << endl;
         cout << setprecision(1) << 12.05 << endl;
         cout << setprecision(2) << 12.05 << endl;
         cout << setprecision(3) << 12.05 << endl;
         cout.setf(ios::scientific, ios::floatfield);
         cout << setprecision(0) << 12.05 << endl;
         cout << setprecision(1) << 12.05 << endl;
         cout << setprecision(2) << 12.05 << endl;
         cout << setprecision(3) << 12.05 << endl;
         return  0;
    }

     

    结果:

    12
    12.1
    12.05
    12.050
    1.205000e+001
    1.2e+001
    1.21e+001
    1.205e+001

     

    需要注意的是,有时会因为机器的精度问题导致四舍五入的结果不正确。这种问题一般需要手动修正,见如下代码示例:

    1
    2
    3
    4
    5
    6
    7
    8
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout << fixed << setprecision(1) << 2.05 << endl;
         cout << fixed << setprecision(1) << 2.05 + 1e-8 << endl;
         return  0;
    }

     

    结果:

    2.0
    2.1

     

    四、字符串

    字符串的输出处理主要是对齐,这一点在第二部分已经介绍过了,下面主要介绍字符串的输入方法。为了方便起见,我们使用<string>库。在输入字符串时,可以利用<string>库提供的getline函数读取整行数据。getline函数有两个版本,第一个版本有两个参数,第一个参数指定输入流(比如cin),第二个参数指定一个string对象。getline会读取屏幕上输入的字符,直到遇到换行符“\n”为止;第二个版本有三个参数,前两个与第一个版本相同,第三个参数为指定的结束字符。注意,getline不会读入默认或指定的结束字符,但在调用之后读取的位置已经跳过结束字符。调用示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <iomanip>
    #include <iostream>
    #include <string>
    using  namespace  std;
    int  main( void ) {
         string str1, str2;
         getline(cin, str1);
         cin >> str2;
         cout << str1 << endl << str2 << endl;
         return  0;
    }

     

    输入:

       abc
       abc

     

    结果:

       abc
    abc

     

    五、缓冲区

    由于调用系统函数在屏幕上逐个显示字符是很慢的,因此cin/cout为了加快速度使用缓冲区技术,粗略的讲就是暂时不输出指定的字符,而是存放在缓冲区中,在合适的时机一次性输出到屏幕上。如果单纯使用C++的输入/输出流来操作字符是不存在同步的问题的,但是如果要和C标准库的stdio库函数混合使用就必须要小心的处理缓冲区了。如果要与scanf和printf联合使用,务必在调用cout前加上cout.sync_with_stdio(),设置与stdio同步,否则输出的数据顺序会发生混乱。

    flush和endl都会将当前缓冲区中的内容立即写入到屏幕上,而unitbuf/nounitbuf可以禁止或启用缓冲区。示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    #include <iomanip>
    #include <iostream>
    using  namespace  std;
    int  main( void ) {
         cout << 123 << flush << 456 << endl;
         cout << unitbuf << 123 << nounitbuf << 456 << endl;
         return  0;
    }

     

    结果:

    123456
    123456

     

    六、综合使用

    示例代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <iomanip>
    #include <iostream>
    #include <string>
    using  namespace  std;
    struct  COMMODITY { string Name; int  Id; int  Cnt; double  Price; };
    int  main( void ) {
         COMMODITY cmd[] = {
             { "Fruit" , 0x101, 50, 5.268},
             { "Juice" , 0x102, 20, 8.729},
             { "Meat" , 0x104, 30, 10.133},
         };
         cout << left << setw(8) << "NAME"  << right << setw(8) << "ID" ;
         cout << right << setw(8) << "COUNT"  << right << setw(8) << "PRICE"  << endl;
         for  ( int  i = 0; i < sizeof (cmd) / sizeof (cmd[0]); ++i) {
             cout << left << setw(8) << cmd[i].Name;
             cout << right << hex << showbase << setw(8) << cmd[i].Id;
             cout << dec << noshowbase << setw(8) << cmd[i].Cnt;
             cout << fixed << setw(8) << setprecision(2) << cmd[i].Price << endl;
         }
         return  0;
    }

     

    结果:

    NAME          ID   COUNT   PRICE
    Fruit      0x101      50    5.27
    Juice      0x102      20    8.73
    Meat       0x104      30   10.13


    展开全文
  • 我们有时希望数据按照一定的格式进行输出,如按十六进制输出整数,输出浮点数时保留小数点后面两位,输出整数时按 6 个数字的宽度输出,宽度不足时左边补 0,等等。C语言中的 printf() 函数使用以%开头的格式控制符...

    前言

           我们有时希望数据按照一定的格式进行输出,如按十六进制输出整数,输出浮点数时保留小数点后面两位,输出整数时按 6 个数字的宽度输出,宽度不足时左边补 0,等等。C语言中的 printf() 函数使用以%开头格式控制符,例如 %X、%.2f、%6d 等;C++ 中的 cout 对象则使用流操作算子(你也可以叫做格式控制符)或者成员函数进行控制。

    使用流操作算子

    注意:“流操纵算子”一栏中的星号*不是算子的一部分,星号表示在没有使用任何算子的情况下,就等效于使用了该算子。例如,在默认情况下,整数是用十进制形式输出的,等效于使用了 dec 算子

                                                                              表1:C++ 流操纵算子

    流操作算子的使用方法

    使用这些算子的方法是将算子用 << 和 cout 连用。例如:

    cout << hex << 12 << "," << 24;

    这条语句的作用是指定以十六进制形式输出后面两个数,因此输出结果是:c, 18

    setiosflags() 算子

    setiosflags() 算子实际上是一个库函数,它以一些标志作为参数,这些标志可以是在 iostream 头文件中定义的以下几种取值,它们的含义和同名算子一样

                                                                     

                                                              表2:setiosflags() 可以使用的标志及其说明

     

    说明:这些标志实际上都是仅有某比特位为 1,而其他比特位都为 0 的整数。

    如果想用多个标志可以用 |运算符 连接,表示同时设置。例如:

    cout << setiosflags(ios::scientific|ios::showpos) << 12.34;

    输出结果是:+1.234000e+001

    如果两个相互矛盾的标志同时被设置,如先设置 setiosflags(ios::fixed),然后又设置 setiosflags(ios::scientific),那么结果可能就是两个标志都不起作用。因此,在设置了某标志,又要设置其他与之矛盾的标志时,就应该用 resetiosflags 清除原先的标志。例如下面三条语句:

    cout << setiosflags(ios::fixed) << 12.34 << endl;
    cout << resetiosflags(ios::fixed) << setiosflags(ios::scientific | ios::showpos) << 12.34 << endl;
    cout << resetiosflags(ios::showpos) << 12.34 << endl;  //清除要输出正号的标志

    输出结果是:
    12.340000
    +1.234000e+001
    1.234000e+001

    综合示例

    关于流操纵算子的使用,来看下面的程序。

    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main()
    {
        int n = 141;
        //1) 分别以十六进制、十进制、八进制先后输出 n
        cout << "1)" << hex << n << " " << dec << n << " " << oct << n << endl;
        double x = 1234567.89, y = 12.34567;
        //2)保留5位有效数字
        cout << "2)" << setprecision(5) << x << " " << y << " " << endl;
        //3)保留小数点后面5位
        cout << "3)" << fixed << setprecision(5) << x << " " << y << endl;
        //4)科学计数法输出,且保留小数点后面5位
        cout << "4)" << scientific << setprecision(5) << x << " " << y << endl;
        //5)非负数显示正号,输出宽度为12字符,宽度不足则用 * 填补
        cout << "5)" << showpos << fixed << setw(12) << setfill('*') << 12.1 << endl;
        //6)非负数不显示正号,输出宽度为12字符,宽度不足则右边用填充字符填充
        cout << "6)" << noshowpos << setw(12) << left << 12.1 << endl;
        //7)输出宽度为 12 字符,宽度不足则左边用填充字符填充
        cout << "7)" << setw(12) << right << 12.1 << endl;
        //8)宽度不足时,负号和数值分列左右,中间用填充字符填充
        cout << "8)" << setw(12) << internal << -12.1 << endl;
        cout << "9)" << 12.1 << endl;
        return 0;
    }

    程序的输出结果是:
    1)8d 141 215
    2)1.2346e+06 12.346
    3)1234567.89000 12.34567
    4)1.23457e+06 1.23457e+01
    5)***+12.10000
    6)12.10000****
    7)****12.10000
    8)-***12.10000
    9)12.10000

    需要注意的是,setw() 算子所起的作用是一次性的,即只影响下一次输出。每次需要指定输出宽度时都要使用 setw()。因此可以看到,第 9) 行的输出因为没有使用 setw(),输出的宽度就不再是前面指定的 12 个字符。

     在读入字符串时,setw() 还能影响 cin 的行为。例如下面的程序:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main()
    {
        string s1, s2;
        cin >> setw(4) >> s1 >> setw(3) >> s2;
        cout << s1 << "," << s2 << endl;
        return 0;
    }

    输入:
    1234567890↙

    程序的输出结果是:
    1234,567

     说明:setw(4)使得读入 s1 时,只读入 4 个字符,其后的setw(3)使得读入 s2 时只读入 3 个字符。
                setw() 用于 cin 时,同样只影响下一次的输入。

    调用cout的成员函数

    ostream 类有一些成员函数,通过 cout 调用它们也能用于控制输出的格式,其作用和流操纵算子相同,如表 3 所示。

                                                                            表3:ostream 类的成员函数

     

    说明:setf 和 unsetf 函数用到的flag,与 setiosflags 和 resetiosflags 用到的完全相同。

    这些成员函数的用法十分简单。例如下面的三行程序:

    cout.setf(ios::scientific);
    cout.precision(8);
    cout << 12.23 << endl;

    输出结果是:1.22300000e+001

    最后

    给大家推荐一个我平时学习刷题用的网站  C语言网 , 里面的题库我很喜欢,支持 C/C++/ java / python等语言,简单到困难题型都有,中文界面很友好,英文不好的人省事去翻译了,哈哈!!非常适合自己编程能力的提升哦。

    有需要的小伙伴赶快收藏网址吧。  ☛☛   https://www.dotcpp.com 

    展开全文
  • cout输出格式不常用情况

    千次阅读 2016-03-20 21:52:22
    对于cout,很多用习惯了C语言的printf的人们,多少对cout都是...1.cout输出0x000000ff,而非0xff 初次输出时,没辙了?找了很长时间,很多文章都详细列举了cout格式输出的控制,却没有列举这种情况。 C语言方式:

    对于cout,很多用习惯了C语言的printf的人们,多少对cout都是敬而远之。因其复杂繁多的格式控制操纵符,确实带来了记忆上的负担,但是较printf来说,cout的类型自动检查带来的安全性是printf无法比拟的。

    网上关于cout输出格式控制的资料多入繁星,但是对于特殊的、非常见输出格式例子却很少。下面就列举本人实际遇到的输出难点。

    1.cout输出0x000000ff,而非0xff

    C语言方式:

    printf("%#010x",0xff);//输出结果为:0x000000ff
    //或者
    printf("%#08p",0xff);//输出结果为:0X000000FF

    cout输出:

    //setw、setfill和resetiosflags需要包含头文件<iomanip>
    cout<<"0x"<<setw(8)<<setfill('0')<<hex<<0xff<<endl;//输出结果:0x000000ff
    
    //如果恢复hex为默认使用如下情况
    cout<<resetiosflags(ios::hex)<<100<<endl; //正常输出100,不是0x64
    展开全文
  • 写算法题的时候突然发现自己忘记基本的C++:cout格式输出了,赶紧拉出以前的C++学习笔记重新看一看。 部分内容来自教程:C语言中文网(一个很棒的网站) 有时希望按照一定的格式进行输出,如按十六进制输出整数,...
  • 控制cout输出格式 1、显示精度: '''c++ //强制以小数方式显示 cout<< fixed; //控制显示的精度 cout<< setprecision(2); //小数后面输出两个数字。需要头文件 #include<iomanip> //使用: ...

    控制cout的输出格式

    1、显示精度:

    '''c++
    //强制以小数方式显示
    cout<< fixed;
    //控制显示的精度
    cout<< setprecision(2);   //小数后面输出两个数字。需要头文件 #include<iomanip>
    
    
    //使用:
    cout<<fixed << setprecision(2);//后面的所有cout输出都是这中格式
    cout<<3.1415926<<endl;
    '''
    

    2、输出宽度设置

    '''c++
    cout<<setw(8); //输出的整体宽度为8,仅对后面紧挨着的一个输出管用
    
    //使用:
    cout<< setw(8) << 3.14<< 1.414 <<endl; //setw(8)仅对3.14有用,使3.14占8个宽度,默认右对齐
    '''
    

    3、左右对齐:

    '''c++
    cout<< left; //左对齐
    cout<< right; //右对齐,默认为右对齐
    
    //使用:
    int num = 10;
    cout << left;
    cout << setw(8) << num << endl; ///输出的10占8位,且左对齐
    '''
    

    4、设置不足位数填充的字符:

    '''c++
    cout << setfill('#'); //设置不足的位数用‘#’号填充
    
    //使用:
    int num = 10;
    cout << setfill('#');
    cout << setw(8) << num << endl;  //输出num, 共占8位,不足8位用‘#’号填充
    '''
    
    展开全文
  • c++中用cout如何实现格式输出

    万次阅读 2018-08-24 21:47:00
    首先要加上头文件#include &lt;iomanip.h&gt;  #include &lt;iostream&gt; #include &... cout&lt;&lt;"input a:";  cin&gt;&gt;a;  cout&lt;&l
  • c++ cout格式输出(大全)

    千次阅读 2020-01-29 22:07:56
    1、对齐 //by 鸟哥 qq1833183060 #include <iomanip> #include <iostream> ...int main(void) { ... std::cout <<std::left<< std::setw(20) << -123.456 << ...
  • 否则为0.ios_base类中用于设置输出格式的状态标志。(不是函数),如表所示 介绍几个常用的函数: (1) setf() 用于设置状态标识,把指定位的状态标识为1. 格式一功能:用flag设置流格式, 保留流中原有格式, 相当于...
  • cout格式输出

    千次阅读 2015-03-31 17:13:19
    今天遇到了一个问题,http://blog.csdn.net/u014665013/article/details/44758621... 这个控制符的意思是保证输出宽度为n。如:  cout  1 10100 (默认是右对齐)当输出长度大于3时( setfill(c) 设填充字符为c
  • C/C++中printf和C++中cout输出格式

    千次阅读 2015-11-25 10:29:50
    ## C/C++中printf和C++中cout输出格式 ## 一、 Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项。各项的意义介绍如下: 1.类型类型字符用以...
  • C++的cout语句格式控制输出

    千次阅读 2015-01-15 10:35:31
    但是c++中的cout应该怎么格式的控制输出呢? setw(n),控制预设宽度。 setw()只对其后面紧跟的输出产生作用。若输入的内容超过setw()设置的长度,则按实际长度输出。默认右对齐。 setfill(char c),就是在预设宽度中...
  • cout 输出控制

    万次阅读 多人点赞 2012-04-23 16:18:27
    cout输出格式控制 如果要在输出流中加入格式控制符则要加载头文件:#include  这里面iomanip的作用比较多:  主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控...
  • cout 格式输出

    千次阅读 2013-12-30 20:10:37
    C语言里可以用printf(),%f来实现浮点数的格式输出,用cout呢。。。? 下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式输出一样.以下是一些常的: ...
  • cout格式输出

    千次阅读 2018-06-09 11:32:41
    格式输出可以让你打印的结果更加的整齐,在一定程度上有利于你分析和使用输出的结果。
  • C语言里可以用printf(),%f来实现浮点数的格式输出,用cout呢。。。? 下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式输出一样.以下是一些常的: dec 置...
  • C++ cout格式输出

    千次阅读 2019-02-18 08:55:18
    C++ cout格式化输出(输出格式)完全攻略 有时希望按照一定的格式进行输出,如按十六进制输出整数,输出浮点数时保留小数点后面两位,输出整数时按 6 个数字的宽度输出,宽度不足时左边补 0,等等。在 C++ 中,用 ...
  • cout格式控制输出float/double浮点数

    千次阅读 2019-10-17 14:19:59
    { float test = 1.234; std::stringstream ss; ss << test; std::string str_test; str_test = ss.str(); std::cout<< ss.s...
  • cout输出详解

    千次阅读 2018-01-10 22:12:29
    输出数据时,为简便起见,往往不指定输出格式,由系统根据数据的类型采取默认的格式,但有时希望数据按指定的格式输出,如要求以十六进制或八进制形式 输出一个 整数,对输出的小数只保留两位小数等。...
  • 输出下列一段文字: 第一章 1.1 什么是C语言………………………1 1.11 C语言的历史……………………..58 第二章 方法一:#include using namespace std; int main() { cout第一章"; cout; cout.setf(ios::...
  • c++ cout 输出16进制数据

    千次阅读 2020-02-04 17:16:08
    demo: #include #include using namespace std; int main() { char *ch; void *in; int i=0x11223344,j;... cout(int)*(ch+j);//hex输出必须对应int类型,否则输出ASCII码 } return 0; }
  • 使用cout格式输出字符串

    千次阅读 2011-12-21 18:18:09
    /********************************************************************  created: 2006/04/29  created: 29:4:2006 23:33 ... filename: e:\work\C++\输入输出和文件\CoutFormatSample.cpp  file
  • printf 与 cout 输出格式的简单比较

    千次阅读 2010-11-21 17:36:00
    一、 printf的输出格式 1、控制整形宽度 以整型为例: printf("%md", a);此处m为输出地宽度,默认为右对齐,左边填充空格;若a的实际长度大于m,则m失效。若改为printf("%0md", a);则左边填充0...
  • C++中cout控制输出格式和读写txt文件

    千次阅读 2016-03-31 19:31:50
    标题里面包含了两方面内容,一方面是cout控制输出格式,一方面是读写.txt文件中的数据。平常在代码中用的都挺多的。 这些别的都总结的比较好,下面分别给出其参考链接,并附上自己的常用方式源码。cout控制输出格式...
  • printf和cout 数字格式输出对比

    千次阅读 2017-01-11 09:26:15
    #include #include int main() { // setfill(), setw()只生效一次 std::cout ('0') (5) , " , " ; // 00005, 10, 11 pr
  • cout输出字符串

    2019-11-30 14:09:16
    否则会报错:[Error] 'cout' is not a member of 'std' 最后要记住头文件#include<iostream>一定要写在最后,如果头文件顺序反了,可能会出现运算符重载的问题,会报错比如说:<<符...
  • VS 用cout输出字符串

    千次阅读 2018-10-10 13:41:48
    #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; using namespace std; int main() { char str[20]="... cout&lt;&lt;str&lt;&
  • #include<iostream> #include<Windows.h>... cout << value << endl; // 把精度修改为4, 输出12.35, 对最后一位四舍五入 // 精度修改后,持续有效,直到精度再次被修
  • C++ cout输出固定位数

    千次阅读 2020-06-05 22:17:31
    说一下c++中的输出控制,先交代一下系统环境: 系统:windows 10 x64 编译软件:CodeBlocks 位数控制C语言位数控制C++整数位数控制C++整数进制转换C++小数位数控制 C语言位数控制 在c++编程中经常会遇到浮点数的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 726,101
精华内容 290,440
关键字:

cout输出格式