拿这个最小的工作示例
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << setw(10) << "aaaaaaa"
<< setw(10) << "bbbb"
<< setw(10) << "ccc"
<< setw(10) << "ddd"
<< setw(10) << endl;
for(int i(0); i < 5; ++i){
char ch = ' ';
if ( i == 0 )
ch = '%';
cout << setw(10) << i
<< setw(10) << i << ch
<< setw(10) << i
<< setw(10) << i
<< setw(10) << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是
aaaaaaa bbbb ccc ddd
0 0% 0 0
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
Run Code Online (Sandbox Code Playgroud)
我想要做的是包含<< i << ch在一个字段中,setw(10)以便正确对齐列.
既然我们正在查看其中任何一个,' '或者'%'您可以简单地静态计算.
cout << setw(10) << i
<< setw( 9) << i << ch
<< setw(10) << i
<< setw(10) << i
<< setw(10) << endl;
Run Code Online (Sandbox Code Playgroud)
i可能将and组合ch在一个字符串中,setw本身不会接受这种行为
试试这个片段
cout << setw(10) << i
<< setw(10) << std::to_string(i) + ch;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |