【问题标题】:How to add custom format specifier to fmt如何将自定义格式说明符添加到 fmt
【发布时间】:2019-10-23 15:55:38
【问题描述】:

我正在尝试用对 fmt 的调用替换自定义类型安全格式函数。当前实现支持 'u' 说明符,它将值打印为无符号,而不管其符号如何。我想在对 fmt::vformat 的调用中添加相同的功能。

我尝试将 'd' 替换为 'u' 的实例,但这不会正确打印负值。

我需要知道如何注入一个自定义整数说明符,该说明符调用当前实现,并将值转换为无符号整数。

【问题讨论】:

    标签: fmt


    【解决方案1】:

    您无法将新的格式说明符添加到内置格式化程序中,因此我建议只转换为 unsigned

    int answer = -42;
    fmt::print("{}", unsigned(answer)); // prints 4294967254
    

    https://godbolt.org/z/5bdtgA

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 2022-01-04
      相关资源
      最近更新 更多