给定一个 C++ 中的标准字符串对象,其中应包含转义序列,我如何在运行时将其转换为自身的引用版本?
std::string str("Foo said, \"bar\"\n");
鉴于以上情况,我想创建一个新字符串 quoted
,它具有以下内容:
"\"Foo said, \\\"bar\\\"\\n\""
这只是一个例子。我需要使用任意字符串执行此操作。
我是否只需为每个可能的转义序列手动执行此操作?
最佳答案
c++14 有一个新的 std::quoted
操纵器,例如
std::cout << quoted(str); // defaults to '"' as the quote and '\\' as the escape
std::ostringstream oss;
oss << quoted(str);
auto quoted_string = oss.str();
关于c++ - 如何在运行时将字符串转换为自身的引用版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25110724/