setf(ios::left, ios::adjustfield)的组合有什么作用
What does the combination of setf(ios::left, ios::adjustfield) do?
我正在读一本教科书,我遇到了这一行。
它似乎在两列中漂亮地格式化输出(我猜左边的宽度设置了,即使它都从同一列开始,右边的看起来也是如此(。 不过,我不太确定这条线到底在做什么。
cout.setf(ios::left, ios::adjustfield);
有人可以向我解释一下吗?
它强制输出固定宽度字段中的文本,并提供左对齐。 请参阅此参考。 这是使用该函数的第二个覆盖,该覆盖采用在其中设置特定标志的掩码。
此覆盖将清除在 std::ios_base::adjustfield
中设置的任何现有标志,该标志处理通过 stream
对象输出的文本对齐。
不采用标志掩码(第二个参数(的覆盖将简单地额外设置指定的标志,这在adjustfield
的情况下没有多大意义,因为有效值只有 left
、 right
和 internal
,它们都处理文本对齐。
希望这个小例子能清楚地说明:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout.setf(std::ios::left, std::ios::adjustfield);
cout << setfill('^') << setw(10) << "Hello" << "n";
cout.setf(std::ios::right, std::ios::adjustfield);
cout << setfill('0') << setw(10) << "99n";
return 0;
}
它给出输出:
Hello^^^^^
000000099
相关文章:
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 可组合的lambda/std::函数与std::可选
- 使用ios:ate写入到流会覆盖现有文件
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 混合组合和继承的C++问题
- 我需要将多个函数组合为一个函数
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 通过组合不同的类型来创建唯一的id
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 模板元编程:如何将参数包组合成新的参数包
- 如何访问RTCVideoRenderer的帧?(ios)
- 检查向量是否具有所有可能的字符组合
- ios::fmtflags 在 C++ 中是如何工作的?setf() 是如何工作的?
- 如何在加密++中将两个源组合成新的源
- 根中的组合
- 我可以在 iOS 或 mac 应用程序中使用C++代码吗?
- 使用C 组合精灵的不同部分在iOS游戏中形成一个单个精灵
- setf(ios::left, ios::adjustfield)的组合有什么作用
- std::ios::openmode的组合,如果文件存在,则截断,但防止创建新文件
- OpenCV iOS -不支持的参数组合