Mam kod C, w którym używam standardowej funkcji biblioteki isalpha() w ctype.h, To jest na Visual Studio 2010-Windows. W poniższym kodzie, jeśli char c jest „£”, rozmowa isalpha zwraca twierdzenie, jak pokazano w poniższej migawka:isalpha() podając twierdzenie
char c='£';
if(isalpha(c))
{
printf ("character %c is alphabetic\n",c);
}
else
{
printf ("character %c is NOT alphabetic\n",c);
}
widzę, że może to być spowodowane 8 bit ASCII robi nie masz tej postaci.
Jak obsługiwać takie znaki spoza zestawu ASCII poza tabelą ASCII?
Co chcę zrobić, jeśli zostanie znaleziony dowolny znak niealfabetyczny (nawet jeśli zawiera taki znak, nie w 8-bitowej tablicy ASCII), chcę go zignorować.
Zauważ, że '' £ ''nie jest znakiem ASCII. Łączycie konteksty: wynik może być zaskakujący. – pmg