【问题标题】:How do you format output text such that variable strings of different length line up across multiple lines?如何格式化输出文本,使不同长度的可变字符串跨多行排列?
【发布时间】:2019-02-15 21:53:45
【问题描述】:

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

我需要这样做,以便当我的程序的输出与正确的输出进行比较时(这里说的是大输出文件)输出文件的简单字符串比较应该将它们标记为完全相同。

以下是 EXACT 预期输出的示例:

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

请注意,在这种格式下,每个字符串之后和双数字之前都有不同数量的空格,但它们仍然能够完美地对齐。 那么如何输出这种格式呢?

我假设我只是不知道关于 fprintf() 的某些事情,但同样,我不知道 soooooooooooooo

【问题讨论】:

标签: c file-io formatting


【解决方案1】:

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

printf( "%10s", "test" ) 将打印一个 10 个字符并在参数较短时用空格填充。例如(为空格添加点)

test......

您还可以指定理由,例如

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

......test

【讨论】:

  • 所以这适用于整数的情况,但是关于小数点而不是第一个数字对齐双精度呢?
  • Nvm 想通了。只需将其与最后一个数字对齐即可。傻我。谢谢!
猜你喜欢
  • 2014-03-08
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-21
相关资源
最近更新 更多