使用 C 流格式化输出:printf 的替代品
与 printf 不同,C 输出流提供了方便的选项,用于通过使用流操纵器。要实现与 printf(" d", zipCode) 相同的格式,您可以采用以下方法:
std::setw 和 std::setfill
std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;
std::setw(5) 指定字段宽度为 5,确保输出在必要时向左填充零。 std::setfill('0') 将 '0' 定义为填充任何额外空间的字符。
流操纵器的优点
使用流操纵器有几个好处:
备用格式选项
请注意,std::iomanip 库提供了额外的格式options:
处理负面消息数字
如果需要处理负数,可以使用 std::internal,它将填充字符放在符号和大小之间:
std::cout << std::internal << std::setw(5) << std::setfill('0') << zipCode << std::endl;
替代库
考虑使用 fmt 库或即将推出的 C 20 标准,它们提供强大的格式化功能选项,例如:
这些替代方案提供了简洁灵活的格式解决方案。
以上是C Streams 如何替代 printf 进行输出格式化?的详细内容。更多信息请关注PHP中文网其他相关文章!