如何设置输出文本的格式,以使不同长度的可变字符串跨多行排列?

时间:2019-02-15 21:53:46

标签: c file-io formatting

我正在尝试将文本打印到输出文件,并且我需要我的输出文件以完全匹配正确的格式。

我需要这样做,以便在将程序的输出与正确的输出进行比较(在这里讨论大型输出文件)时,对输出文件进行简单的字符串比较就可以将它们标记为完全相同。

以下是确切预期输出的示例:

| Item   1234 | CALCULATOR           | $   0.45 |
| Item   5678 | USA_FLAG             | $  10.99 |
| Item   9012 | WITCH_BROOM          | $  18.00 |

请注意,使用这种格式设置后,每个字符串后和双精度数字前都有可变数量的空格,但是它们仍然可以完美地对齐。 那么如何输出这种格式?

我假设fprintf()中有一些我不知道的东西,但是我也不知道soooooooooooooo

1 个答案:

答案 0 :(得分:2)

您可以在printf格式字符串中指定标志和宽度,例如

printf( "%10s", "test" )将输出10个字符,如果参数较短则用空格填充。例如(为空格添加了点)

  

test......

您还可以指定理由,例如

printf( "%-10s", "test" )

  

......test