nl_langinfo, nl_langinfo_l - language information
#include <langinfo.h> char *nl_langinfo(nl_item item);
char *nl_langinfo_l(nl_item item, locale_t locale);
The nl_langinfo() and nl_langinfo_l() functions return a pointer to a null-terminated string containing information relevant to a particular language or cultural area defined in the current locale, or in the locale represented by locale, respectively. The manifest constant names and values of item are defined by <langinfo.h>. For example:
would return a pointer to the string “dim” if the identified language was Portuguese and Portuguese locale was correctly installed; or “Sun” if the identified language was English.
would return a pointer to the string “dim” if the identified language of the locale represented by loc was Portuguese and Portuguese locale was correctly installed; or “Sun” if the identified language of the locale represented by loc was English.
The behavior is undefined if the locale argument to nl_langinfo_l() is the special locale object LC_GLOBAL_LOCALE or is not a valid locale object handle.
If setlocale(3C) has not been called successfully, or if data for a supported language is either not available, or if item is not defined therein, then nl_langinfo() returns a pointer to the corresponding string in the C locale. In all locales, nl_langinfo() returns a pointer to an empty string if item contains an invalid setting.
The nl_langinfo() function can be used safely in multithreaded applications, as long as setlocale(3C) is not being called to change the locale.
See attributes(7) for descriptions of the following attributes:
The array pointed to by the return value should not be modified by the program.