使用 iomanip 自动间距
Automatic spacing with iomanip
对于以下代码:
cout << left << setw(20) << "Example Header\n";
cout << setw(60) << setfill('-') << "-" << endl;
第二行(破折号)由于某种原因缩进了5个空格。我最初以为某些东西会自动被标记,但我找不到为什么会这样的原因。无论第二行发生什么,都会自动放入六个我无法删除的空格。尽管对我来说一个简单的解决方法是用空格填充第二行,但我仍然很想知道为什么我的程序要放入这些空格。
cout << left << setw(20) << "Name" << setw(20) << "Number" << setw(20) << "Points Scored"
<< endl;
// ^^^^^^^^
而不是使用 '\n'
解决了这个问题。
参见Live Demo。
对于以下代码:
cout << left << setw(20) << "Example Header\n";
cout << setw(60) << setfill('-') << "-" << endl;
第二行(破折号)由于某种原因缩进了5个空格。我最初以为某些东西会自动被标记,但我找不到为什么会这样的原因。无论第二行发生什么,都会自动放入六个我无法删除的空格。尽管对我来说一个简单的解决方法是用空格填充第二行,但我仍然很想知道为什么我的程序要放入这些空格。
cout << left << setw(20) << "Name" << setw(20) << "Number" << setw(20) << "Points Scored"
<< endl;
// ^^^^^^^^
而不是使用 '\n'
解决了这个问题。
参见Live Demo。