文本分析中使用isalpha出現的問題

最近在做文本分析時,使用isalpha()或isupper()等(<ctype.h>,win7,VS2012)函數來判斷一個字符是不是英文字母時,偶爾出錯(File:f:\dd\vctools\crt_bld\self_x86\crt\src\isctype.c),如下圖所示:

在網上找了半天,也沒找到解決的辦法。如是換了一種方法來做字母判斷:#define LETTER(ch) ((ch>65&&ch<90)||(ch>97&&ch<122))

果然,問題解決了。

根據問題提示,分析問題出現的原因可能是isapha()函數只能對[-1,225]之間的字符做判斷,而文本中可能有不在這個範圍內的字符。

 

 

發佈了30 篇原創文章 · 獲贊 14 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章