ASCII艺术 - 固定C / C ++中的边框

时间:2016-01-19 05:16:14

标签: c++ c ascii-art

我正在尝试创建一个程序,该程序将生成一个我可以轻松更改的字符表。但是,我希望它看起来不错,所以我将使用一些ASCII艺术在工作表中创建边框。我想知道如何创建使用|-的边框,但这些边界会在数字发生变化时移动。

我想我可以使用一些功能,它可以将结尾|放在它应该的确切位置,当数字从6到16或16到116或者单词时不会移动和信件。

如果有人知道怎么做,我会非常感激。

1 个答案:

答案 0 :(得分:1)

您可以在printf中使用字段宽度说明符。对于左对齐,您可以添加-前缀。 e.g。

#include <stdio.h>

int main(void)
{
    printf( "| Greed    : %-10d |\n", 6 );
    printf( "| Gluttony : %-10d |\n", 16 );
    printf( "| Lust     : %-10d |\n", 116 );
    return 0;
}

输出:

| Greed    : 6          |
| Gluttony : 16         |
| Lust     : 116        |

或者,您可以采用更具规划性的策略,如评论中 rici 所示。那将使用返回值(如果是非负数),它会告诉你写了多少个字符。

在此处阅读printf及其格式说明符的更多信息:http://en.cppreference.com/w/cpp/io/c/fprintf