for i = 0; i strlenbuf; i++ if bufi == memmovebuf + i + 1 buf + i strlenbuf - i; bufi = ; i++; 让他只出现一个反斜杠
可以这样修改代码:
for (i = 0; i < strlen(buf); i++) {
if (buf[i] == '\'') {
memmove(buf + i + 1, buf + i, strlen(buf) - i);
buf[i] = '\\';
i++;
while (buf[i] == '\'') {
memmove(buf + i + 1, buf + i, strlen(buf) - i);
i++;
}
}
}
这样,在遇到单引号时,会先插入一个反斜杠,然后判断后面是否还有单引号,如果有,则继续插入反斜杠,直到只出现一个反斜杠为止。
原文地址: https://www.cveoy.top/t/topic/bt3u 著作权归作者所有。请勿转载和采集!