我正在学习C++,我专注于cout
操作器函数。
通过运行以下代码,我在包含Gauthier
的第二行中得到了一个缩进。
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::setw(10) << std::setiosflags(std::ios::left)
<< "Mathieu\n"
<< "Gauthier\n"
<< "Paul\n"
<< "Louis\n"
<< "Pierre\n"
<< std::endl;
return 0;
}
有人能给我解释一下发生了什么事吗? 为什么Gauthier
是缩进的,而其他名称不是?
Mathieu
Gauthier
Paul
Louis
Pierre
Program ended with exit code: 0
std::ios::left
告诉向右添加填充字符,即向第一个字符串添加很少字符,因此“Mathieu\n”
“变成了”“Mathieu\n”
。 末尾有新的行字符('\n'
),因此添加的空格移到下一行(Gauthier
)。 所以这不是第二行的缩进,这些是从第一行开始的尾随字符。