在 C++ 中,格式化输出通常使用流插入运算符 <<
结合输出流对象(如 std::cout
)来完成。C++ 标准库提供了一系列的控制符和函数来实现各种格式化输出需求。进行格式化输出时,除了控制输出宽度和精度外,还可以使用其他格式控制符来指定输出的格式,包括对齐方式、填充字符、十六进制、科学计数法等。
#include <iostream>
#include <cstdint> // 包含用于标准整数类型的头文件
#include <cmath>
#include <iomanip> // 包含头文件以使用格式化输出相关功能int main() {//1. 指定输出宽度std::cout << std::setw(10) << "Hello" << std::endl; // 输出宽度为 10//2. 指定精度std::cout << std::setprecision(3) << 3.14159 << std::endl; // 输出精度为 3// 3.控制对齐方式:std::cout << std::left << std::setw(10) << "Hello" << std::endl; // 左对齐std::cout << std::right << std::setw(10) << "Hello" << std::endl; // 右对齐//4.设置填充字符:std::cout << std::setfill('-') << std::setw(10) << "Hello" << std::endl; // 使用 '-' 填充//5.输出格式设置std::cout << std::fixed << 3.14159 << std::endl; // 固定小数点输出std::cout << std::scientific << 3.14159 << std::endl; // 科学计数法输出std::cout << std::hex << 255 << std::endl; // 十六进制输出//6. 输出特殊字符std::cout << std::oct << 255 << std::endl; // 八进制输出//7. std::printf 进行更多的格式化输出:int num = 42;double pi = 3.14159;// 控制输出的宽度和精度std::printf("整数:%10d\n", num); // 设置输出宽度为 10std::printf("浮点数:%.4f\n", pi); // 设置精度为 4// 十六进制输出std::printf("十六进制:%x\n", num); // 将整数以十六进制输出// 科学计数法输出std::printf("科学计数法:%e\n", pi); // 以科学计数法输出浮点数return 0;
}
参考:
https://en.cppreference.com/w/cpp/header/iomanip