gpt4 book ai didi

c++ - 如何使用iomanip让多个out字符串一起占据一定的宽度?

转载 作者:太空狗 更新时间:2023-10-29 21:39:05 26 4
gpt4 key购买 nike

我知道 setw(n) 只适用于直接跟在它后面的字符串。喜欢:

cout<<setw(10)<<"A"<<" String"<<endl;

给出这个:

          A String

A 前有 9 个空格。

但是我想要这样的命令:

cout<<[something here to set the space for all coming things]<<"A"<<" String"<<endl;

提供这个:

    A String

“A”和“String”一起使用 10 个字符,A 之前只有 2 个空格。

有办法吗?感谢任何帮助,谢谢!

最佳答案

不直接。 setw() 操纵器仅适用于下一个输出。

然后,您必须做的是将您希望具有一定宽度的内容组合成一个字符串,然后输出该字符串。例如:

{
ostringstream ss;
ss << "X = " << X << ".";
cout << setw(15) << ss.str() << "\n";
}

如果您还想裁剪输出以适应宽度(而不是溢出),您可以调整输出以产生最大宽度:

  cout << setw(15) << ss.str().substr(0,15) << "\n";

希望这对您有所帮助。

关于c++ - 如何使用iomanip让多个out字符串一起占据一定的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33771482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com