NL_LANGINFO(3) | Library Functions Manual | NL_LANGINFO(3)

# NAME

`nl_langinfo` —
get locale information

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <langinfo.h>`

char *
`nl_langinfo`(nl_item item);

# DESCRIPTION

The `nl_langinfo`() function returns a pointer to a string containing information set by the program's locale.

The names and values of item are defined in `<langinfo.h>`. The entries under Category indicate in which setlocale(3) category each item is defined.

Constant | Category | Meaning
CODESET | LC_CTYPE | Codeset name
D_T_FMT | LC_TIME | String for formatting date and time
D_FMT | LC_TIME | Date format string
T_FMT | LC_TIME | Time format string
T_FMT_AMPM | LC_TIME | A.M. or P.M. time format string
AM_STR | LC_TIME | Ante-meridiem affix
PM_STR | LC_TIME | Post-meridiem affix
DAY_1 | LC_TIME | Name of the first day of the week (e.g.: Sunday)
DAY_2 | LC_TIME | Name of the second day of the week (e.g.: Monday)
DAY_3 | LC_TIME | Name of the third day of the week (e.g.: Tuesday)
DAY_4 | LC_TIME | Name of the fourth day of the week (e.g.: Wednesday)
DAY_5 | LC_TIME | Name of the fifth day of the week (e.g.: Thursday)
DAY_6 | LC_TIME | Name of the sixth day of the week (e.g.: Friday)
DAY_7 | LC_TIME | Name of the seventh day of the week (e.g.: Saturday)
ABDAY_1 | LC_TIME | Abbreviated name of the first day of the week
ABDAY_2 | LC_TIME | Abbreviated name of the second day of the week
ABDAY_3 | LC_TIME | Abbreviated name of the third day of the week
ABDAY_4 | LC_TIME | Abbreviated name of the fourth day of the week
ABDAY_5 | LC_TIME | Abbreviated name of the fifth day of the week
ABDAY_6 | LC_TIME | Abbreviated name of the sixth day of the week
ABDAY_7 | LC_TIME | Abbreviated name of the seventh day of the week
MON_1 | LC_TIME | Name of the first month of the year
MON_2 | LC_TIME | Name of the second month
MON_3 | LC_TIME | Name of the third month
MON_4 | LC_TIME | Name of the fourth month
MON_5 | LC_TIME | Name of the fifth month
MON_6 | LC_TIME | Name of the sixth month
MON_7 | LC_TIME | Name of the seventh month
MON_8 | LC_TIME | Name of the eighth month
MON_9 | LC_TIME | Name of the ninth month
MON_10 | LC_TIME | Name of the tenth month
MON_11 | LC_TIME | Name of the eleventh month
MON_12 | LC_TIME | Name of the twelfth month
ABMON_1 | LC_TIME | Abbreviated name of the first month
ABMON_2 | LC_TIME | Abbreviated name of the second month
ABMON_3 | LC_TIME | Abbreviated name of the third month
ABMON_4 | LC_TIME | Abbreviated name of the fourth month
ABMON_5 | LC_TIME | Abbreviated name of the fifth month
ABMON_6 | LC_TIME | Abbreviated name of the sixth month
ABMON_7 | LC_TIME | Abbreviated name of the seventh month
ABMON_8 | LC_TIME | Abbreviated name of the eighth month
ABMON_9 | LC_TIME | Abbreviated name of the ninth month
ABMON_10 | LC_TIME | Abbreviated name of the tenth month
ABMON_11 | LC_TIME | Abbreviated name of the eleventh month
ABMON_12 | LC_TIME | Abbreviated name of the twelfth month
ERA | LC_TIME | Era description segments
ERA_D_FMT | LC_TIME | Era date format string
ERA_D_T_FMT | LC_TIME | Era date and time format string
ERA_T_FMT | LC_TIME | Era time format string
ALT_DIGITS | LC_TIME | Alternative symbols for digits
RADIXCHAR | LC_NUMERIC | Radix character
THOUSEP | LC_NUMERIC | Separator for thousands
YESEXPR | LC_MESSAGES | Affirmative response expression
NOEXPR | LC_MESSAGES | Negative response expression

# RETURN VALUES

`nl_langinfo`() returns a pointer to an empty string if item is invalid.

# EXAMPLES

The following example uses `nl_langinfo`() to obtain the date and time format for the current locale:

    #include <time.h>
    #include <langinfo.h>
    #include <locale.h>

    int main(void)
    {
    	char datestring[100];
    	struct tm *tm;
    	time_t t;
    	char *ptr;

    	t = time(NULL);
    	tm = localtime(&t);
    	(void)setlocale(LC_ALL, "");
    	ptr = nl_langinfo(D_T_FMT);
    	strftime(datestring, sizeof(datestring), ptr, tm);
    	printf("%s\n", datestring);
    	return (0);
    }

# SEE ALSO

setlocale(3), tm(3), nls(7)

# STANDARDS

The `nl_langinfo`() function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).

# HISTORY

The `nl_langinfo`() function appeared in NetBSD 1.0.

April 14, 2011 | NetBSD 9.0