C++ 流操纵器向每一行添加制表符

C++ stream manipulator to add tabs to every line

我想修改一个流,以便每次将某些内容输出到流时,每行都预先加上一些制表符。似乎操纵器是解决此问题的方法,但我发现的 none 示例清楚地说明了如何以这种方式进行操纵。

这对操纵者来说合理吗?如果合理的话如何?

不,这不合理。这将需要您检测流何时输出新行,然后使用制表符跟进。为此,您至少必须重写 std::basic_ostreamputwrite 成员函数,以便它们检查操纵器的注入状态,并在他们在输出中看到 \n 时相应地采取行动。绝对不合理。