提问者:小点点

C++setiosflags函数操作器-待定缩进


我正在学习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

共1个答案

匿名用户

std::ios::left告诉向右添加填充字符,即向第一个字符串添加很少字符,因此“Mathieu\n”“变成了”“Mathieu\n”。 末尾有新的行字符('\n'),因此添加的空格移到下一行(Gauthier)。 所以这不是第二行的缩进,这些是从第一行开始的尾随字符。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(c++setiosflags|函数|操作|器|待定|缩进)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?