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

Re: Определение локали, в которой запущено приложение



On Sat, Dec 12, 2009 at 06:38:07PM +0300, Alexey Pechnikov wrote:
> Hello!
> 
> On Saturday 12 December 2009 16:09:54 Stanislav Maslovski wrote:
> > В том же мане:
> > 
> > setlocale(3) needs to be executed with proper arguments before. 
> > 
> > If no locale has been selected for the appropriate category,
> > nl_langinfo() returns a pointer to the corresponding string in the "C"
> > locale.
> 
> И ни слова о том, можно ли эту функцию вызывать более чем единожды.

Какую? nl_langinfo()? Можно.

Если же тебе нужно временно сменить, например, LC_COLLATE в твоем
модуле, то делаешь так:

char *old = strdup(setlocale(LC_COLLATE, NULL));
setlocale(LC_COLLATE, "POSIX");
.
.
setlocale(LC_COLLATE, old);
free(old);

-- 
Stanislav


Reply to: