C wc, , tdio wchar_t. setlocale():
setlocale(LC_CTYPE, "");
, , - . Unix- , LANG. , , LANG UTF8, UTF8. ( POSIX wc ).
. , :
long words = 0;
int in_word = 0;
int c;
while ((c = getchar()) != EOF)
{
if (isspace(c))
{
if (in_word)
{
in_word = 0;
words++;
}
}
else
{
in_word = 1;
}
}
... , c wint_t, getchar() getwchar(), EOF WEOF isspace() iswspace():
long words = 0;
int in_word = 0;
wint_t c;
while ((c = getwchar()) != WEOF)
{
if (iswspace(c))
{
if (in_word)
{
in_word = 0;
words++;
}
}
else
{
in_word = 1;
}
}