在字符字面量中转义撇号

14

请问如何避免使用单引号?

我需要在文件操作中处理非单引号字符,但是当我遇到单引号(')时,不能简单地给出ch!='''。这种方式行不通。请告诉我正确的格式。谢谢..:)

2个回答

23

使用\',例如:

if ( ch != '\'' )

\'是撇号的转义序列。

搜索"转义序列"以了解更多信息。


嗨..:) 谢谢你的回答.. 刚看到了你的博客.. 我也来自ase,ase-bang。 - boddhisattva

14
你可以使用转义单引号的方法
'\''

例如

while(*p && *p != '\'') p++;

这是一个转义序列;反斜杠告诉编译器后面的'字符是普通字符,而不是您用于包围字符的单引号之一。


1
“下一个字符将被视为普通字符”,这意味着\0会变成0,并忽略八进制和十六进制数。 - Georg Fritzsche
没错,但我说的是特定的转义序列\'...我并不是在暗示所有的转义序列都有固定的长度。 - Daniel LeCheminant
没错,我只是想指出可能的误解。 - Georg Fritzsche

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接