C++ 如何使用iomanip使多个out字符串一起占据一定的宽度?
我知道setw(n)只适用于它后面的字符串。比如:C++ 如何使用iomanip使多个out字符串一起占据一定的宽度?,c++,C++,我知道setw(n)只适用于它后面的字符串。比如: cout<<setw(10)<<"A"<<" String"<<endl; A前面有9个空格 但我需要这样的命令: cout<<[something here to set the space for all coming things]<<"A"<<" String"<<endl; cout << setw(10) <<
cout<<setw(10)<<"A"<<" String"<<endl;
A前面有9个空格
但我需要这样的命令:
cout<<[something here to set the space for all coming things]<<"A"<<" String"<<endl;
cout << setw(10) << ("A"s + "string") << "\n";
“A”和“String”一起使用10个字符,在A之前只有2个空格
有办法吗?谢谢你的帮助,谢谢 不直接。
setw()
操纵器仅适用于下一个输出
那么,您必须做的是将希望具有一定宽度的内容组合成一个字符串,然后输出该字符串。例如:
{
ostringstream ss;
ss << "X = " << X << ".";
cout << setw(15) << ss.str() << "\n";
}
{
ostringstream ss;
ss显而易见的可能性是创建一个包含两个字段的字符串,然后为组合的整体设置宽度。给定字符串文本,显而易见的方法是将每个字符串转换为字符串,然后连接字符串
假设使用最新的编译器,您可以非常轻松地执行以下操作:
cout<<[something here to set the space for all coming things]<<"A"<<" String"<<endl;
cout << setw(10) << ("A"s + "string") << "\n";
cout To user1034749:我尝试了cout.width(10),但结果与setw一样。
cout << setw(10) << ("A"s + "string") << "\n";
int a = 1, b = 100;
cout << setw(10) << (to_string(a) + to_string(b));