eudo
04-01-2008, 20:25
Добрый всем вечер.
Столкнулся с такой проблемой, std::locale("") упорно отказывается принимать в качестве аргемента строки отличные от "", "C", "POSIX", на все остальное выкидывается исключение, например:
ru_RU.CP1251 : locale::facet::_S_create_c_locale name not valid
ru_RU.CP866 : locale::facet::_S_create_c_locale name not valid
ru_RU.ISO8859-5 : locale::facet::_S_create_c_locale name not valid
ru_RU.KOI8-R : locale::facet::_S_create_c_locale name not valid
Хотя:
web-1# locale -a | grep ru_RU
ru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8
Соответственно С вариант:
setlocale(LC_ALL, "ru_RU.CP1251");
работает замечательно. Собственно, может кто-то подскажет решение проблемы? Почему С++ locales не работают. Поиском не нашел.
Версии Ос и компилятора:
web-1# uname -a ; gcc -v
FreeBSD web-1 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.6 [FreeBSD] 20060305
Столкнулся с такой проблемой, std::locale("") упорно отказывается принимать в качестве аргемента строки отличные от "", "C", "POSIX", на все остальное выкидывается исключение, например:
ru_RU.CP1251 : locale::facet::_S_create_c_locale name not valid
ru_RU.CP866 : locale::facet::_S_create_c_locale name not valid
ru_RU.ISO8859-5 : locale::facet::_S_create_c_locale name not valid
ru_RU.KOI8-R : locale::facet::_S_create_c_locale name not valid
Хотя:
web-1# locale -a | grep ru_RU
ru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8
Соответственно С вариант:
setlocale(LC_ALL, "ru_RU.CP1251");
работает замечательно. Собственно, может кто-то подскажет решение проблемы? Почему С++ locales не работают. Поиском не нашел.
Версии Ос и компилятора:
web-1# uname -a ; gcc -v
FreeBSD web-1 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.6 [FreeBSD] 20060305