C++操作符(endl, setw, setprecision, setf)是什么?


流操作符是专门设计用于与流对象上的插入(<<)和提取(>>)运算符一起使用的函数,例如:

std::cout << std::setw(10);

它们仍然是常规函数,也可以像任何其他函数一样使用流对象作为参数来调用,例如:

boolalpha (cout);

操作符用于更改流上的格式参数,以及插入或提取某些特殊字符。

以下是C++中最常用的几个操作符:

endl

此操作符的功能与“\n”(换行符)相同。但它还会刷新输出流。

示例

在线演示

#include<iostream>
int main() {
   std::cout << "Hello" << std::endl << "World!";
}

输出

Hello
World!

showpoint/noshowpoint

此操作符控制是否始终在浮点数表示中包含小数点。

示例

 在线演示 

#include <iostream>
int main() {
   std::cout << "1.0 with showpoint: " << std::showpoint << 1.0 << '\n'
             << "1.0 with noshowpoint: " << std::noshowpoint << 1.0 << '\n';
}

输出

1.0 with showpoint: 1.00000
1.0 with noshowpoint: 1

setprecision

此操作符更改浮点精度。当在表达式 out << setprecision(n) 或 in >> setprecision(n) 中使用时,将流 out 或 in 的精度参数设置为恰好 n。

示例

 在线演示 

#include <iostream>
#include <iomanip>
int main() {
   const long double pi = 3.141592653589793239;
   std::cout << "default precision (6): " << pi << '\n'
             << "std::setprecision(10): " << std::setprecision(10) << pi << '\n';
}

输出

default precision (6): 3.14159
std::setprecision(10): 3.141592654

setw

此操作符更改下一个输入/输出字段的宽度。当在表达式 out << setw(n) 或 in >> setw(n) 中使用时,将流 out 或 in 的宽度参数设置为恰好 n。

示例

在线演示

#include <iostream>
#include <iomanip>
int main() {
   std::cout << "no setw:" << 42 << '\n'
             << "setw(6):" << std::setw(6) << 42 << '\n'
             << "setw(6), several elements: " << 89 << std::setw(6) << 12 << 34 << '\n';
}

输出

no setw:42
setw(6):    42
setw(6), several elements: 89    1234

更新于:2020年2月11日

4K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告