gpt4 book ai didi

c++ - 打印 n 个空格字符 -(f)printf 格式

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:21:22 24 4
gpt4 key购买 nike

有没有办法打印一定数量的空白字符?

我不能使用最小值。宽度空白填充 "\"%-5s\"",因为它会导致 "str "...,我需要输出 "str"...

我知道我可以用一种愚蠢的方式来做到这一点:

int len = strlen (str);

printf ("/"%s/"", str);
for (int i = len - 5; i > 0; i--)
printf (" ");

但我希望有更有效的解决方法。

最佳答案

尝试

printf ( "%*c\"%s\"%*c", leading, ' ', str, trailing, ' ');

前导和尾随是整数。
仅供尾随使用

printf ( "\"%s\"%*c", str, trailing, ' ');

可以只对leading做类似的修改

编辑
宽度说明符允许使用星号来提供可变宽度。
在这种情况下,%*c 告诉 printf 获取下一个参数并将其用作字符的宽度。
它最初读取前导并将其用于打印字符(空格字符)的字段宽度。然后打印一个引号,\"。%s 格式打印下一个参数,str。另一个引号被打印,然后 %*c 再次读取尾随作为打印下一个参数的字段宽度,另一个空格字符。

关于c++ - 打印 n 个空格字符 -(f)printf 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26313659/

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