我试图格式化一些printf语句,以允许任意级别的缩进。
理想情况下,我需要以下输出,其中“one”、“two”等是可变长度日志消息的占位符。

One
 Two
  Three
 Two
One

我正在研究压痕所需的可变长度间距,我知道我可以做到以下几点:
printf( "%*s", indent_level, "" );

但我想知道是否有一种方法可以在不使用第二个空字符串arg的情况下完成。

最佳答案

您只需将要打印的内容作为参数传递:

printf( "%*s", indent_level + strlen(mystr), mystr );

08-16 21:17
查看更多