检查C中的特殊字符

时间:2014-09-16 20:41:29

标签: c char special-characters equality

我得到了一些关于如何查看C中的“字符串”是否包含特定字符的帮助。简而言之:

if(*s=='x') { //Where x is some character
    //Do something
}

现在,据我所知,这适用于英文字母(a-z,A-Z)中的字母。

但是,如何检查当前字符是否等于特殊字符(例如æøå)?< / p>

3 个答案:

答案 0 :(得分:2)

在大多数情况下,你应该使用一个函数:strchr用于查找单个字节,或strstr用于查找多个字节。

另外,一般来说C不知道字符,它只知道字节。特殊字符可以是单个字节 - 例如,iso8859-1编码中的æ是\xe6 - 或者它可能超过一个字节:utf-8编码中的相同字符是2字节序列{{ 1}}。

要搜索utf-8编码的字符串,可以使用

\xc3\xa6

答案 1 :(得分:1)

只需与角色的ASCII码进行比较:

if(*s==10) { //Where 10 is the ASCII code of the special character
    //Do something
}

您可以在此处找到您的ASCII代码:http://www.asciitable.com/

答案 2 :(得分:1)

将字符与实际值进行比较(只要该值介于0和255之间)。

有关特定值,请参阅æwiki页面。所以

  

if(* s == 0xe6)

小写

  

if(* s == 0xc6)

表示大写