背景:最近遇到了需要处理字符串的问题,在我的项目里需要先对字符串进行读取,然后对字符串进行处理后得到结果,因此这之中进行了两次字符的转义,比如"\\\\"在最后得到的是"\"。因此,要想得到"\n是转义字符",只需要在字面常量中用"\\\\n是转义字符"表示即可。在这两次转义中,第一次转义是机器自动执行的,比如我们在代码中输入"\\n"会得到"\n",在第二次转义时一般会是由代码执行的,比如当前读取到的字符是'\\',这时我们可以将指针后移一位,如果是'n','t'或者其他的可以如此拼接得来的转义字符,我们就可以往结果中push转义后的字符,比如'\n','\t'等。
解决方案:得到"\n是转义字符"可以转化为得到单独的,不参与转义的字符\,因此,要想最后得到该字符,如果进行了n次转义,那么只需要在输入字面常量时输入2*n个\即可,比如"\\\\n"-->"\n"。