我需要在字符串之前添加可变空格填充。下面的代码:printf中的空格填充不起作用
unsigned int spaces = result % 16;
printf("spaces=%d\n", spaces); // spaces=12, for example.
printf("% *s\n", spaces, my_string);
它根本不起作用 - 空间不会添加和我得到以下警告在GCC:
warning: ' ' flag used with ‘%s’ gnu_printf format [-Wformat=]
如何解决呢?有没有解决方法?
@ user3121023谢谢。我只是发现这也会起作用''printf(“%* s”“%s \ n”,空格,“”,my_string);' – python 2014-10-06 23:55:24
你有什么和'(“%* s%s \ n“,空格,”“,my_string)'。相邻的琴弦静静地结合在一起。 – alexis 2014-10-06 23:57:19
请注意,也可以选择填充空格长度达到设置的总长度的字符串,即printf(“%* s”,(int)spaces,my_string);'。在'%'之后使用'-'来左对齐(默认是右对齐) – 2014-10-07 00:06:08