簡體   English   中英

檢查C中的特殊字符

[英]Check for Special Characters in C

我對如何查看C中的“字符串”是否包含特定字符有一些幫助。 簡而言之:

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

現在,據我所知,這適用於英文字母(az,AZ)中的字母。

但是,如何檢查當前字符是否等於特殊字符(例如æøå )?

在大多數情況下,您應該為此使用一個函數: strchr用於查找單個字節,或者strstr用於查找多個字節。

同樣,通常C不知道字符,只知道字節。 特殊字符可以是單個字節-例如,iso8859-1編碼中的æ是\\xe6或可以大於一個字節:utf-8編碼中的同一字符是2字節序列\\xc3\\xa6

要搜索utf-8編碼的字符串以查找æ,可以使用

strstr(s, "\xc3\xa6")

只需將其與字符的ASCII碼進行比較即可:

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

您可以在這里找到您的ASCII代碼: http : //www.asciitable.com/

將字符與實際值進行比較(只要該值介於0到255之間)。

見æ 維基特定值的頁面。 所以

如果(* s == 0xe6)

小寫

如果(* s == 0xc6)

大寫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM