在字符串行中查找转义字符

Mar*_*c-O 1 c++ string function find

使用std库和函数find,如何知道给定字符串中是否有任何转义字符?

例如 :

string line = "bla bla bla \n blabla";
bool hasEscapedSequence = (line.find("\n",0) < line.size());
Run Code Online (Sandbox Code Playgroud)

这显然是行不通的,因为\nfind将被转义.如果我尝试(line.find("\\n",0) < line.size());,它似乎没有改变任何东西

我应该怎么做 ?

gma*_*che 6

line.find("\n",0)
Run Code Online (Sandbox Code Playgroud)

将返回光标的位置,它将找到子字符串.如果未找到子字符串,则返回string :: npos.所以不应该与尺寸进行比较.

bool hasEscapedSequence = (line.find("\n") != string::npos);
Run Code Online (Sandbox Code Playgroud)