我试图格式化一些printf语句,以允许任意级别的缩进。
理想情况下,我需要以下输出,其中“one”、“two”等是可变长度日志消息的占位符。
One
Two
Three
Two
One
我正在研究压痕所需的可变长度间距,我知道我可以做到以下几点:
printf( "%*s", indent_level, "" );
但我想知道是否有一种方法可以在不使用第二个空字符串arg的情况下完成。
最佳答案
您只需将要打印的内容作为参数传递:
printf( "%*s", indent_level + strlen(mystr), mystr );