Я использую libfmt (хотя ответ на C++20, скорее всего, будет совместим)
У меня есть утверждение, подобное следующему:
Код: Выделить всё
std::string{fmt::format(
"Found system paths:\n"
"{8}base: {0}\n"
"{8}share: {1}\n"
"{8}locale: {2}\n"
"{8}sysConf: {3}\n"
"{8}home: {4}\n"
"{8}config: {5}\n"
"{8}data: {6}\n"
"{8}cache: {7}\n",
base, share, locale, sysConf, home, conf, data, cache, "|----------"
)};
Проблема в том, что, поскольку и фактические пути, и имя каждой папки имеют разную ширину, я не могу добиться аккуратного выравнивания.
Я бы хотел увидеть что-то нравится:
Код: Выделить всё
----------- Found system paths
|---------- base: /path/to/somewhere/base
|---------- share: /path/to/base/share
|---------- locale: /path/to/base/locale
|---------- sysConf: /path/to/another-place/config
|---------- home: /path/to/home
|---------- config: /path/to/a-third-place/config
|---------- data: /path/to/base/data
|---------- cache: /path/to/a-third-place/cache
Подробнее здесь: https://stackoverflow.com/questions/792 ... mn-of-text
Мобильная версия