gpt4 book ai didi

c - 在 C 中打印格式化字符串

转载 作者:太空狗 更新时间:2023-10-29 15:15:00 26 4
gpt4 key购买 nike

所以我有一个长度为 10 的字符串。我想打印 4-6 中的字母[包括两者],我想将输出跨越特定长度 L,数字放在右侧.

例如

如果我有原始的字符串123456789,那么后面的代码应该会显示出来。

printf(Original);
printf(from 4-6, over 5 spaces)

输出:

123456789
456

即 456 分布在 5 个空格内并向右缩进。

如何在 C 中实现?

编辑 1:如果我的宽度不是恒定的,并且我有一个变量来指示宽度怎么办。同样对于子串的长度也是一个变量。现在有什么办法吗?

我可以做类似的事情吗

printf("%%d.%ds",width,precision,expression);

最佳答案

非常直接:

printf("%5.3s\n", Original + 4);
^ ^
| |
| +--- precision, causes only 3 characters to be printed
|
+----- field width, sets total width of printed item

由于右调整是默认设置,因此您可以获得所需的输出。

精度“节省”了我们将三个字符提取到它们自己的正确终止字符串中的麻烦,非常方便。

您可以通过将宽度指定为 * 并传递一个 int 参数来为精度或字段宽度(当然也可以同时使用这两者)使用动态值:

const int width = 5, precision = 3;
printf("%*.*s\n", width, precision, Original + 4);

关于c - 在 C 中打印格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567286/

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