【问题标题】:C++ minimum string widthC++ 最小字符串宽度
【发布时间】:2012-11-20 04:33:40
【问题描述】:

假设我有

string a = "foo";

如何使用printfa 打印到控制台以确保最小宽度,例如10?

【问题讨论】:

  • 当你使用 C++ 时,你应该使用cout
  • 你说得对,我只是不知道我可以用 cout 做到这一点
  • 您可以使用printf 做的所有事情都可以使用cout 做。此外,使用cout,您还可以享受打字安全的乐趣。

标签: c++ iostream


【解决方案1】:

你可以使用setwmanipulator来设置输出的宽度,像这样:

cout << setw(10) << a << endl;

需要包含iomanip 标头才能编译。

【讨论】:

  • 糟糕,我看到了 C++ 标签,但错过了您问题的 printf 部分。对于 printf,您需要使用 %10s,但这比 C++ 更多(尽管它是完全有效的 C++ 代码)。
  • 注释不是必须的。为标记为 C++ 的 C 代码建议 C++ 解决方案应该是 SO 的默认设置。 :)
【解决方案2】:

你可以使用:

printf("%10s\n", a.c_str());

以上将正确对齐字段中的字符串。如果您想要左对齐,请改用%-10s

【讨论】:

    【解决方案3】:

    printf("%10s", a.c_str());

    [填充]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2020-08-22
      • 2012-10-09
      • 2021-12-05
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      相关资源
      最近更新 更多