使用带有附加字符的printf()进行右对齐

时间:2015-05-23 17:00:24

标签: c printf

在我正在制作的表中,我必须打印一个表示成本合理的整数,这样它总共占用六个字符,这是可以的,但我还需要在数字之前插入'$'字符。有没有办法做到这一点,而不是一个新的字符串只是前面的$整数?

2 个答案:

答案 0 :(得分:1)

这将打印[ $26]。支架只是为了展示领先的空间 snprintf()将返回打印格式化字符串所需的字符数 首先获得宽度参数后,%*c将打印一个字符。

#include<stdio.h>
#include<stdlib.h>

int main ( ) {
    int cost = 26;

    printf ( "[%*c%d]\n", 6 - snprintf ( NULL, 0, "%d", cost), '$', cost);
    return 0;
}

答案 1 :(得分:0)

我假设您正在进行正常的printf调用:

printf("%d", cost);

只需将它添加到前面?

printf("$%d", cost);

此处提供更多帮助:https://www.gnu.org/software/gawk/manual/html_node/Printf-Examples.html