【发布时间】:2021-10-26 14:06:34
【问题描述】:
我有这个字符串:
std::string str = "t\tt\\";
我可以将str 转换为原始字符串,使其不等于"t. t \",而是等于"t\t\\"(就像我写的R"t\t\\")?
如果我不使用 R 字面量,我的符号(如 \t \n \\)将替换为制表符、换行符或 \。我想将替换这些符号的字符串 var 转换为不替换它们的原始字符串。
那么,我可以将带转义的字符串转换为不转义的字符串吗?
【问题讨论】:
-
我不明白这个问题。
"t. t \"是"t\t\\"。你能说明你想如何使用这个字符串吗,因为我不清楚你真正想要做什么。 -
嗯,如果你的意思是在 c++ 中是否有一个字符串会输出“t\t\\”?那么代码应该是 std::string str = "t\\t\\\\"; (en.cppreference.com/w/cpp/language/escape)
-
@NathanOliver 已更新。
-
那么,您是否只是想将已经具有制表符/换行符/其他字符的
std::string实例转换为其转义序列?例如。包含选项卡的字符串应将其替换为\t? -
所以你知道关键词“unescape”。您是否尝试过搜索“如何在 C++ 中取消转义字符串”? :) 你本可以在 45 分钟前收到answer。
标签: c++ string c++11 rawstring