【发布时间】:2021-06-07 10:42:39
【问题描述】:
有没有办法打印使用{fmt} 引用的字符串?
这是一个示例代码,显示了我想要实现的目标:
fmt::print("Hello {}!", "Terens");
我希望代码打印Hello "Terens"! 而不仅仅是Hello Terens!。
编辑:我想使用 API 来打印事先未知的不同数据(我正在为一个库编写这个,所以当数据是 std::string 或 std::string_view 时,我特别想要一个带引号的输出。
【问题讨论】:
-
"Hello \"{}\"!"或R"(Hello "{}"!)"? -
我想将它用于不同的类型,但如果它是一个字符串,我想用引号将输出括起来。
-
您可以将 "Terens" 更改为 "\"Terens\"" - 以及您希望在引号中输出的任何其他字符串
-
@ericpat 我不希望人们自己引用他们的字符串????。我想我会在格式字符串上使用
is_stringtrait 和三元组。 -
Quote方法在这里 create 新字符串(及其开销:-/),返回QuoteWrapper<T>将允许您的类型具有自定义点(实际上是您不能(即使可能也不应该)为外部类型添加(外部)自定义,至少应该是你的)。