• cpp primer plus笔记05-ios_base


    std::ios_base::常见标志使用意义
    boolalpha可以使用单词"true"和"false"进行输入或者输出布尔值。
    oct用八进制格式显示数值。(与ios::basefield配合使用)
    dec用十进制格式显示数值。(与ios::basefield配合使用)
    hex用十六进制格式表示数值。(与ios::basefield配合使用)
    left输出调整为左对齐。(与ios::adjustfield配合使用)
    right输出调整为右对齐。(与ios::adjustfield配合使用)
    scientific用科学计数法显示浮点数。(与ios::floatfield配合使用)
    fixed用正常的记数方法显示浮点数(与科学计数法对应)(与ios::floatfield配合使用)
    showbase输出时显示所有数值的基数。
    showpos在非负数值前面显示正号。
    unitbuf每次插入以后,清空缓冲区。
    uppercase以大写的形式显示科学计数法中的'e'和十六进制格式的'x'。
    #include
    #include 
    int main()
    {
    	bool isFunc = false;
    	std::cout.setf(std::ios_base::boolalpha);
    	std::cout << isFunc << std::endl;
    	std::cout.unsetf(std::ios_base::boolalpha);
    	std::cout << isFunc << std::endl;
    
    	int num1 = 34;
    	std::cout.setf(std::ios_base::oct, std::ios_base::basefield);
    	std::cout << num1 << std::endl;
    	std::cout.unsetf(std::ios_base::oct);
    	std::cout << num1 << std::endl;
    
    	std::cout.setf(std::ios_base::dec, std::ios_base::basefield);
    	std::cout << num1 << std::endl;
    	std::cout.unsetf(std::ios_base::dec);
    	std::cout << num1 << std::endl;
    
    	std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
    	std::cout << num1 << std::endl;
    	std::cout.unsetf(std::ios_base::hex);
    	std::cout << num1 << std::endl;
    
    	std::cout.setf(std::ios_base::left);
    	for (int i = 1; i <= 100; i *= 10)
    	{
    		std::cout.width(5);
    		std::cout << i << ":";
    		std::cout.width(8);
    		std::cout << i * i << std::endl;
    	}
    	std::cout.unsetf(std::ios_base::left);
    	
    	std::cout.setf(std::ios_base::right);
    	for (int i = 1; i <= 100; i *= 10)
    	{
    		std::cout.width(5);
    		std::cout << i << ":";
    		std::cout.width(8);
    		std::cout << i * i << std::endl;
    	}
    	std::cout.unsetf(std::ios_base::right);
    
    	float num2 = 120.23f;
    	std::cout.setf(std::ios_base::scientific);
    	std::cout << num2 << std::endl;
    	std::cout.unsetf(std::ios_base::scientific);
    
    	float num3 = -2e4f;
    	std::cout.setf(std::ios_base::fixed);
    	std::cout << num3 << std::endl;
    	std::cout.unsetf(std::ios_base::fixed);
    
    	std::cout.setf(std::ios_base::showbase);
    	std::cout << num2 << " " << num3 << std::endl;
    	std::cout.unsetf(std::ios_base::showbase);
    
    	std::cout.precision(3);
    	std::cout.setf(std::ios_base::showpoint);
    	std::cout << num2 << " " << num3 << std::endl;
    	std::cout.unsetf(std::ios_base::showbase);
    	std::cout << std::defaultfloat;
    
    	std::cout.setf(std::ios_base::showpos);
    	std::cout << num2 << " " << num3 << std::endl;
    	std::cout.setf(std::ios_base::showpos);
    
    	std::cout.setf(std::ios_base::unitbuf);
    	std::cout.unsetf(std::ios_base::unitbuf);
    
    
    	return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    false
    0
    42
    34
    34
    34
    22
    34
    1    :1
    10   :100
    100  :10000
        1:       1
       10:     100
      100:   10000
    1.202300e+02
    -20000.000000
    120.23 -20000
    120. -2.00e+04
    +120. -2.00e+04
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    ES6 - Class的基本语法
    【一起来学C++】————(11)STL之vector容器容器
    开发一个ebpf程序
    Dubbo-admin安装与测试
    【我不是熟悉的javascript】使用postMessage+iframe实现授权登录
    IPIDEA的使用方式
    1576. 替换所有的问号
    Flutter 实现背景 Parallax 动画
    java基础10题
    PicoVR Unity SDK---API接口及注意事件
  • 原文地址:https://blog.csdn.net/LEVIATHANq/article/details/133613001