c++ - 是否可以从格式字符串中检索 "width"

标签 c++ fmt

我需要一种从 fmt::format 中检索“宽度”参数的方法格式字符串。
不想格式操作的结果大小,很容易用 auto size = fmt::formatted_size("{:>5.2f}", 13453453.76345f); 提取

fmt::format("{:>5.2f}", 13.23454f);
//              ^
//     I want this number (5)
我期待这样的事情
auto width = fmt::with_arg("{:>5.2f}");
assert(width == 5);
和 ...
如果它也适用于整数那就太好了:
fmt::format("{:>4d}", 42);
//              ^
//     I want this number (4)

最佳答案

不,宽度在内部用于确定填充量。它不是通过任何公共(public) API 提供的。您可以使用 parse_format_string 解析格式字符串并获取宽度但这是一个内部功能。

关于c++ - 是否可以从格式字符串中检索 "width",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62812168/

相关文章:

c++ - fatal error : GL/gl. h: 没有那个文件或目录

c++ - 构造函数初始化顺序和引用传递

c++ - 为 {fmt} 构建命名参数的动态列表

c++ - 格式化没有这样的文件或目录

c++ - 不能将规范与 fmt 库混合

c++ - 使用经典终端和gcc/g++编译QT Creator项目

c++ - Windows命令行语法中的破折号是什么意思?

c++ - 具有动态内存的命名管道策略?

c++ - * 1233 >> 12 在这个计算十进制数字的代码中背后的数学是什么

c++ - 使用所有常用选项添加自定义类型格式