Bachelor硕 发表于 2022-11-21 08:01

C++输入输出格式控制

初学c++语言,感觉有点难。根据c++ STL学习的c++输入输出控制。分享顺便记录下。
#include <complex>
#include <limits>
#include <iostream> //输入输出流
#include <fstream>//文件流
#include <strstream>//字符串流
#include <string>
#include <stdio.h>
#include <ios>

/*
* 小数尾追补0用showpoint
* 输出正整数时想带正负号使用showpos
* 输入隔离格式值skipws作用:跳过分隔键(即空格或tab)
*/

using namespace std;

void example_setw(){
    char *f = "2345", *g = "678";
    cout << f << setw(6) << g << setw(4) <<f <<g << endl;
    cout << setw(10) << setfill('.') << "1234" << endl;
}

void all_example(){
    int i = 63;
    float pai = 3.14;
    cout.setf(ios::hex,ios::basefield);
    cout.setf(ios::showbase);
    cout << i << endl;
    cout.unsetf(ios::showbase);
    cout << i << endl;
    cout.setf(ios::uppercase);
    cout << i << endl;
    cout.setf(ios::showpoint);
    cout << pai << endl;
    cout.setf(ios::scientific,ios::floatfield);
    cout << pai << endl;
    cout.setf(ios::left,ios::adjustfield);
    cout.width(10);
    cout.fill('$');
    cout << "%%%" << endl;
}


int main(){
    example_setw();
    cout.setf(ios::hex);//设置为10进制输出
    cout.unsetf(ios::hex);//取消设置16进制输出
    float e = 2.71823;
    cout << setprecision(3) << e << endl;//设置float输出位数
    cout << setw(9) <<hex<<setiosflags(ios::showbase|ios::internal|ios::uppercase) << 15045<<endl;
    //showbase显示前缀符0xinternal产生中间对齐标志   uppercase将字符x变为大写
    all_example();
    return 0;
}

tangguo520 发表于 2022-11-21 08:52

Janling 发表于 2022-11-21 09:09

有用的笔记,收藏了。

yangqing7145 发表于 2022-11-21 09:14

学习一下,感谢分享啊

hutopower 发表于 2022-11-21 09:15

感谢分享,收藏了{:1_893:}

神棍德 发表于 2022-11-21 09:17


感谢分享,

HWinZnieJ 发表于 2022-11-21 09:54

学习了,谢谢楼主~

apull 发表于 2022-11-21 10:02

感谢分享

zhongwenmingma 发表于 2022-11-21 10:59

感谢分享

lhp462 发表于 2022-11-21 11:05

谢谢分享
页: [1] 2
查看完整版本: C++输入输出格式控制