如何使用格式说明符设置字符串的字段宽度?

Aka*_*tak 4 c printf string-formatting format-specifiers

printf("%5s\n", "#");
Run Code Online (Sandbox Code Playgroud)

给出:

    #
Run Code Online (Sandbox Code Playgroud)

他们是否可以使用整数格式说明符设置此字符串的字段宽度?

像这样的东西,

printf("%%ds\n", 5, "#");
Run Code Online (Sandbox Code Playgroud)

kay*_*lum 6

来自printf 手册

代替十进制数字字符串,可以写“*”或“*m$”(对于某些十进​​制整数 m)来指定字段宽度分别在下一个参数或第 m 个参数中给出,它们必须是 int 类型。

因此,在您的示例中,它将是:

printf("%*s\n", 5, "#");
Run Code Online (Sandbox Code Playgroud)