gpt4 book ai didi

使用 printf() 居中字符串

转载 作者:太空狗 更新时间:2023-10-29 16:25:12 34 4
gpt4 key购买 nike

默认情况下,printf() 似乎将字符串右对齐。

printf("%10s %20s %20s\n", "col1", "col2", "col3");
/* col1 col2 col3 */

我也可以像这样将文本左对齐:

printf("%-10s %-20s %-20s", "col1", "col2", "col3");

有没有快速居中文本的方法?或者如果该列的文本宽度为8?

最佳答案

printf 本身不能解决问题,但您可以使用“间接”宽度,它通过从参数中读取来指定宽度。让我们试试这个(好吧,不完美)

void f(char *s)
{
printf("---%*s%*s---\n",10+strlen(s)/2,s,10-strlen(s)/2,"");
}
int main(int argc, char **argv)
{
f("uno");
f("quattro");
return 0;
}

关于使用 printf() 居中字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461667/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com