如何将自定义格式说明符添加到fmt

时间:2019-10-23 15:55:38

标签: fmt

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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