我试图用更漂亮的方式打印我的代码,但我不知道如何解决我的问题.
Protein: Donations:0 Requests: 0
Dairy: Donations:0 Requests: 0
Grains: Donations:0 Requests: 0
Vegetables: Donations:0 Requests: 0
Fruits: Donations:0 Requests: 0以下是打印语句的代码:
printf("%s:\tDonations:%d Requests: %d\n", TYPES[i], status[0][i], status[1][i]);我想让它看起来像这样:
Protein: Donations:0 Requests: 0
Dairy: Donations:0 Requests: 0
Grains: Donations:0 Requests: 0
Vegetables: Donations:0 Requests: 0
Fruits: Donations:0 Requests: 0有什么想法吗?
发布于 2016-10-22 02:11:11
诀窍是打印冒号后有正确的空格数。您可以通过利用printf提供的几个特性来做到这一点:
printf返回它打印的字符数。printf可以在最小字段宽度中左对齐文本,例如,在格式字符串"%-10s"中,减号导致文本左对齐,而数字10指定最小字段宽度为10。printf( "%-*s", 10, "hello" )将打印"hello",后面为5个空格综合起来,代码将如下所示:
int count = printf( "%s", TYPES[i] );
printf( "%-*s", 16-count, ":" );
printf( "Donations:%2d Requests:%2d\n", status[0][i], status[1][i] );https://stackoverflow.com/questions/40187579
复制相似问题