您好,我想在 C/C++ 中格式化我的二叉搜索树的输出,而不是每次都对其进行硬编码。我看到人们使用 (%*, int),但它对我不起作用。
printf("%* %-s\n", format, String") format = format*2
printf("%* %-s\n", format, String")
我想要这样的输出
字符串
字符串
最佳答案
printf
格式可以使用可变参数作为宽度和精度参数:
printf("%*s\n", width, str);
将输出在 width
字符上右对齐的字符串,前导空格。
如果字符串长于 width
个字符,则不会被截断。如果您希望尾随空格左对齐,请添加 -
选项并使用 "%-*s\n"
。
如果您希望字符串对齐和截断,请以这种方式同时使用宽度和精度参数:
printf("%*.*s\n", width, width, str);
关于c++ - 我可以使用 printf() 格式的变量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34032348/