我想连接两个字符串并将它们用作fmt
库的格式字符串。显而易见的选择之一是将它们简单地连接为常规字符串,然后将它们传递到库中:
template<typename... Args>
inline void catfmt(std::string a, std::string b, const Args &... args) {
std::string c = a+b;
fmt::print(c, args...);
}
但是,c
将被丢弃。那么也许 fmt 提供了一种完全跳过它的方法?有没有办法在消息中放置一个字符串并告诉库它也应该被解析?就像是:
template<typename... Args>
inline void catfmt(std::string a, std::string b, const Args &... args) {
fmt::print("{:sf}{:sf}", a, b, args...);
}
woud{:sf}
的意思是:放置一个字符串并将其用作格式。