Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

nl_langinfo(3C)

Name

nl_langinfo, nl_langinfo_l - language information

Synopsis

#include <langinfo.h>

char *nl_langinfo(nl_item item);
char *nl_langinfo_l(nl_item item, locale_t locale);

Description

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:

nl_langinfo (ABDAY_1);

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.

nl_langinfo_l(ABDAY_1, loc);

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.

Return Values

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.

Usage

The nl_langinfo() function can be used safely in multithreaded applications, as long as setlocale(3C) is not being called to change the locale.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
CSI
Enabled
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See Also

duplocale(3C), freelocale(3C), newlocale(3C), setlocale(3C), uselocale(3C), langinfo.h(3HEAD), nl_types.h(3HEAD), attributes(7), standards(7)

Warnings

The array pointed to by the return value should not be modified by the program.