C++中特殊字符的识别

C++中特殊字符的识别,c++,special-characters,C++,Special Characters,我目前正在编写一个程序,希望使用find函数,查看字符串中是否有\。无论何时我尝试使用,例如token.find\,0,我都会收到一个错误,表示我缺少一个终止字符。我假设这是因为\是一个特殊字符。我在谷歌上搜索了S.O.寻找一种识别特殊字符的方法,比如\,我想在\,即\'周围加上单引号可能会奏效,但没有。有人能给我指出正确的方向或提出一个替代方案吗?这是因为\是转义字符。要解决此问题,请将代码更改为:token.find\\,0 像这样使用find方法,它会。工作 token.find("\\"

我目前正在编写一个程序,希望使用find函数,查看字符串中是否有\。无论何时我尝试使用,例如token.find\,0,我都会收到一个错误,表示我缺少一个终止字符。我假设这是因为\是一个特殊字符。我在谷歌上搜索了S.O.寻找一种识别特殊字符的方法,比如\,我想在\,即\'周围加上单引号可能会奏效,但没有。有人能给我指出正确的方向或提出一个替代方案吗?

这是因为\是转义字符。要解决此问题,请将代码更改为:token.find\\,0

像这样使用find方法,它会。工作

token.find("\\",0);
如commet@Rafael Rotelok中所定义


如果需要在搜索词上使用特殊字符,则需要 首先用“\”将其转义,因此如果要查找“\”字符,请 用“\”来逃避它,第一个“\”有特殊的含义,并且说 你的语法分析器告诉你,你必须按字面意思取下一个'\'字符–


啊,你说现在是\,0。为清楚起见,您有一个转义字符还是两个转义字符?要查找1`\`char,您需要在字符串literal:token.find\\\,0;有用链接:如果你需要在搜索词中使用特殊字符,你需要先用“\”转义,因此如果你正在寻找“\”字符,你就用“\”转义,第一个“\”有一个特殊的含义,它告诉你的解析器,你必须用下一个“\”字符。你可以通过包含一个小的示例程序,让你的问题更清楚,我们称之为一个。这通常有助于消除歧义,例如您是否使用std::string?的find member函数?。这可能很简单。我会看看我是否能得到一个MCVE。这是一个编程项目,所以我不想把我所有的代码都放在那里。使用\\已修复当前问题,但同时,我得到了一个需要修复的新错误。是的,显然我的搜索技能不是最好的。我很欣赏这些链接和提示,让我们朝着正确的方向前进。