可以使用printf()格式的变量

时间:2015-12-01 23:39:07

标签: c++ c format printf

您好我想用C / C ++格式化我的二进制搜索树的输出,而不是每次都进行硬编码。我看到人们使用(%*,int),但它对我没用。

printf("%* %-s\n", format, String")  format = format*2 

printf("%* %-s\n", format, String")

我想要这样的输出

String String

1 个答案:

答案 0 :(得分:3)

printf格式可以使用宽度和精度参数的变量参数:

printf("%*s\n", width, str);

将输出在width个字符上右对齐的字符串,并带有前导空格。 如果字符串长度超过width个字符,则不会被截断。如果您希望左对齐尾部空格,请添加-选项并使用"%-*s\n"

如果希望对齐和截断字符串,请以这种方式使用width和precision参数:

printf("%*.*s\n", width, width, str);