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'。
cpp 复制代码
#include<iostream>
#include <fstream>
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;
}
text 复制代码
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
相关推荐
晓幂6 小时前
【2025】HECTF
笔记·学习·web安全
微露清风6 小时前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习
做cv的小昊7 小时前
【TJU】信息检索与分析课程笔记和练习(8)(9)发现系统和全文获取、专利与知识产权基本知识
大数据·笔记·学习·全文检索·信息检索
CSARImage7 小时前
C++读取exe程序标准输出
c++
一只小bit7 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui
一条大祥脚7 小时前
26.1.9 轮廓线dp 状压最短路 构造
数据结构·c++·算法
hkNaruto7 小时前
【AI】AI学习笔记:MCP协议与gRPC、OpenAPI的差异
人工智能·笔记·学习
项目題供诗8 小时前
C语言基础(一)
c++
@areok@9 小时前
C++opencv图片(mat)传入C#bitmap图片
开发语言·c++·opencv
鸽芷咕9 小时前
【2025年度总结】时光知味,三载同行:落笔皆是沉淀,前行自有光芒
linux·c++·人工智能·2025年度总结