C++ cout格式化输出、cin、简单文件I/O

本文是《C++ primer plus》的摘抄,详细介绍了C++的cout输出(包括格式化输出)、cin输入以及文件I/O操作。重点讲解了如何进行进制转换、字段宽度设置、填充字符设定、浮点数精度控制,以及cin的抽取方式、流状态和不同类型的文件读写操作。
摘要由CSDN通过智能技术生成

《C++ primer plus》摘抄总结,方便查阅回忆


cout

输出
  • 输出单字符:cout.put( ch );
  • 输出字符串:cout.write( const char_type* s);
  • 输出指定个数字符串:cout.write(const char_type* s, int cnt);
格式化输出
  • 进制(设置后永久生效)
    十进制:cout << dec << endl;
    十六进制:cout << hex << endl;
    八进制:cout << oct << endl;

  • 字段宽度(右对齐,设置后一次有效,填充字符默认空格)
    int width(int i);
    cout.width( i );

  • 设置填充字符(设置后永久生效)
    cout.fill( ‘*’ );

  • 设置浮点数的显示精度(设置后永久生效)
    cout.precision( int i);

  • 打印末尾的0和小数点
    cout.setf(ios_base::showpoint);

  • fmtflags setf(fmtflags );
    解析:第一个setf( )原型参数是一个fmtflags值,指出要设置哪一位。返回值是类型为fmtflags的数字,指出所有标记以前的设置。
    格式常量

常量 含义
ios_base::boolalpha 输入和输出bool值,可以为true或false
ios_base::showbase 对于输出,使用C++基数前缀(0,0x)
ios_base::showpoint 显示末尾的小数点
ios_base::uppercase 对于16进制输出,使用大写字母,E表示法
ios_base::showpos 在正数前面加上+
  • fmtflags setf(long, long);
    解析:第二个setf( )原型接受两个参数,并返回以前的设置
    格式常量
    第二个参数
    第一个参数 含 义

    ios_base ::basefield
    ios_base ::dec 使用基数10
    ios_base ::oct 使用基数8
    ios_base ::hex 使用基数16

    ios_base ::floatfield
    ios_base ::fixed 使用定点计数法
    ios_base ::scientific 使用科学计数法

    ios_base ::adjustfield
    ios_base ::left 使用左对齐
    ios_base ::right 使用右对齐
    ios_base ::internal 符号或基数前缀左对齐,值右对齐

标准控制符(比setf格式化更友好的方法,可以直接输出)

示例:cout << left << fixed; //同时打开左对齐和定点选项

其他控制符

控制符 调用(与setf对应操作)
boolalpha setf(ios_base::boolalpha)
noboolalpha unse
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值