【发布时间】:2018-04-16 05:24:37
【问题描述】:
我正在尝试获得以下效果:
This is a message []
This is a different message []
Short []
LOOOOOOOOOOOOOOOOOOOOOOOOOONG[]
有没有办法创建一个字符串,如果可能的话,给定的参数总是从给定的缩进级别开始?
例如string(indentation level, message1, message 2)
【问题讨论】:
-
这是一个非常具体的用例。不太可能存在这样的内置函数。你可以编写一个免费的函数来做这件事。
-
先找到最大长度然后使用来自
<iomanip>的std::setw(n)修饰符要容易得多。 -
在不知道
LOOOOOOOOOOOOOOOOOOOOOOOOOONG有多长的情况下,您无法对齐[]。 -
这是为了对齐输出到屏幕,还是需要修改字符串本身?
-
一旦你知道长度,还有一个
std::string构造函数获取字符串的长度和你想要重复的字符。我不确定那个或std::setw版本是否更干净。