[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

setlocale(3) + ctype(3) in FreeBSD



Добрый день,

Не подскажете ли, как правильно определить locale под FreeBSD, чтобы
ctype(3)-функции ею пользовались? Следующий код корректно работает
под Linux, а под FreeBSD локаль почему-то игнорирует.

Проверено под 3.4-RELEASE и 4.0-STABLE

Буду очень признателен.

С уважением,
--
Сергей Барбараш

#include <stdio.h>
#include <locale.h>
#include <ctype.h>

int main(int argc, char **argv) {

  printf("setlocale: %s\n", setlocale(LC_ALL, "ru_RU.KOI8-R"));

  if (!argv[1])
    printf("Usage: %s <word>\n", argv[0]);
  else {
    printf("isalnum('%c'): %d\n", argv[1][0], isalnum(argv[1][0]));
    printf("isprint('%c'): %d\n", argv[1][0], isprint(argv[1][0]));
    printf("toupper('%c'): '%c'\n", argv[1][0], toupper(argv[1][0]));
  }
  return 0;
}

-- 
Сергей Барбараш <sgt@fep.ru>
Фонд эффективной политики - http://www.fep.ru/