使用 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