如何在C++中用'\'替换''来处理转义序列?
How do i replace '' by '' in C++ to deal with escape sequences?
我想处理转义序列,如果我将字符串存储在变量中,例如"a\bcd\ref",那么我希望输出与我给出的字符串相同,即"a\bcd\ref"。 编译器不应解释。我尝试使用regex_replace和其他许多东西,但我一无所获。如果有人能提出解决方案,那将有很大帮助。
当你想写这样的字符串时,
"abncdref"
您必须转义反斜杠并写入 \\ 而不仅仅是一个 \。
char* c = "a\b\ncd\ref";
std::cout << c;
让我知道这是否是您想要的。
你用什么机制来"将字符串存储在变量中"?我的意思是,你在做什么:
std::string foo = "abc";
或
std::string foo;
std::cin >> foo; // Or some other stream operator such as std::ifstream
?
如果是后者,编译器将自动添加转义序列,您不必担心。转义序列仅在告诉编译器源文件中的硬编码字符串表示特殊的 ASCII 字符时才需要。如果它不是硬编码的,您将获得正确的字节,并且不需要在前面加上前缀。
相关文章:
- 如何在C++中用'\'替换''来处理转义序列?
- 是否可以在原始字符串文本中插入转义序列?
- 使用无法适应其相关类型的转义序列
- C++二进制值的转义序列
- 使变量字符串忽略转义序列
- "Delete"的转义序列
- getchar() 避免转义序列
- GCC 编译时出现警告:未知转义序列:"\040"
- CMake:list(REMOVE_ITEM) 不处理转义的 #
- C++ 中转义序列的数据类型
- 如何在 QString 中解析转义序列
- "'"转义序列的目的是什么?
- C++ 无法识别的转义序列
- lex 中 OR ( | ) 的转义序列
- 处理IDL序列返回类型的内存
- 转义序列?在 Qstring 中使用引号
- <<未找到运算符和无法识别的转义序列
- 调用 AINSI 转义序列时避免换行
- cmake 在窗口上生成错误,因为它使用 作为转义序列
- 正确处理c++中来自argv的字符串中的转义序列