📅  最后修改于: 2023-12-03 15:14:03.621000             🧑  作者: Mango
在C++中,操纵器是一种能够在输出流中插入特殊作用的符号或函数,通过使用操纵器,我们可以控制输出流中输出的数据格式,从而实现更加灵活、方便的输出操作。下面就让我们来看看C++中操纵器的基本使用方法以及一些常用的示例。
C++中的操纵器主要由头文件<iomanip>
提供支持,在使用操纵器前需要先通过#include <iomanip>
引入必要的头文件。在输出流中使用操纵器主要有两种方式:
示例代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int num = 123;
cout << "num = " << setw(10) << setfill('*') << num << endl;
return 0;
}
输出结果:
num = *******123
在上面的代码中,我们使用了两个操纵器:setw
和setfill
。其中,setw
用于设置输出宽度,setfill
用于设置填充字符。通过在插入运算符(<<)后紧跟操纵器名称,并设置其参数,就可以在输出流中插入操纵器。
示例代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int num = 123;
cout << "num = ";
cout.width(10);
cout.fill('*');
cout << num << endl;
return 0;
}
输出结果:
num = *******123
在上面的代码中,我们通过调用cout
的操纵器函数width
和fill
来实现设置输出宽度和填充字符的目的。这种方式可以更灵活地使用操纵器。
下面列举一些常用的操纵器示例,供参考:
示例代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double num = 3.14159265358979323846;
cout << "num = " << fixed << setprecision(3) << num << endl;
return 0;
}
输出结果:
num = 3.142
在上面的代码中,我们使用了fixed
操纵器来设置输出小数点后的位数为固定的数(此处为3),并使用setprecision
操纵器来设置小数点后的位数。
示例代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double num = 123456789;
cout << "num = " << scientific << setprecision(3) << num << endl;
return 0;
}
输出结果:
num = 1.235e+08
在上面的代码中,我们使用了scientific
操纵器来设置输出为科学计数法格式,并使用setprecision
操纵器来设置输出数字的位数。
示例代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int num = 255;
cout << "num = " << hex << num << endl; //输出16进制数
cout << "num = " << dec << num << endl; //输出10进制数
cout << "num = " << oct << num << endl; //输出8进制数
return 0;
}
输出结果:
num = ff
num = 255
num = 377
在上面的代码中,我们使用了hex
、dec
、oct
三个操纵器来控制输出的进制。其中,hex
用于输出16进制数,oct
用于输出8进制数,dec
用于输出10进制数。
示例代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int num = 123;
cout << setw(10) << left << num << endl; //左对齐
cout << setw(10) << right << num << endl; //右对齐
cout << setw(10) << internal << num << endl; //内部对齐
return 0;
}
输出结果:
123
123
123
在上面的代码中,我们使用了left
、right
、internal
三个操纵器来控制输出对齐方式。其中,left
用于左对齐,right
用于右对齐,internal
用于内部对齐(数字靠右,填充符靠左)。
通过使用C++中的操纵器,我们可以灵活地控制输出流中的数据格式,从而实现更加方便、清晰的输出操作。需要注意的是,操纵器需要通过头文件<iomanip>
引入才能使用,并且操纵器的作用范围是从引入语句开始到文件末尾。