我有一個C代碼,我在ctype.h中使用標準庫函數isalpha(),這是在Visual Studio 2010-Windows上。 在下面的代碼,如果字符c是「£」,將因而isalpha調用返回的斷言如下圖所示的快照:isalpha()給出斷言
char c='£';
if(isalpha(c))
{
printf ("character %c is alphabetic\n",c);
}
else
{
printf ("character %c is NOT alphabetic\n",c);
}
我可以看到,這可能是因爲8位ASCII做沒有這個角色。
那麼我如何處理ASCII表以外的非ASCII字符呢?
我想要做的是如果發現任何非字母字符(即使它包含不在8位ASCII表中的此類字符),我希望能夠忽略它。
請注意,''''不是ASCII字符。你在混合上下文:結果可能會令人驚訝。 – pmg