我试图通过在字符串Find \ inHere中找到\字符来操纵字符串。但是,我不能把它作为test.find('\', 0)
中的输入。它不起作用,并给我错误“缺少终止字符。”有没有办法解决test.find('\', 0)
?
string test = "Find\inHere";
int x = test.find('\', 0); // error on this line
cout << x; // x should equal 4
答案 0 :(得分:3)
\
是用于引入特殊字符的字符,例如\n
换行符,\xDB
显示带有十六进制数字DB等的ASCII字符。
因此,为了搜索这个特殊字符,你必须通过添加另一个\
来逃避它,使用:
test.find("\\",0);
编辑:另外,在你的第一个字符串中,它没有写入“Find \ inHere”但是“Find”并且错误,因为\inHere
不是特殊指令。所以,同样的方法来避免它,写下“Find \\ inHere”。