$NetBSD: nl_langinfo.3,v 1.21 2017/07/03 21:32:49 wiz Exp $

Written by J.T. Conklin <jtc@NetBSD.org>.
Public domain.

.Dd April 14, 2011 .Dt NL_LANGINFO 3 .Os .Sh NAME .Nm nl_langinfo .Nd get locale information .Sh LIBRARY .Lb libc .Sh SYNOPSIS n langinfo.h .Ft char * .Fn nl_langinfo "nl_item item" .Sh DESCRIPTION The .Fn nl_langinfo function returns a pointer to a string containing information set by the program's locale.

p The names and values of .Fa item are defined in n langinfo.h . The entries under Category indicate in which .Xr setlocale 3 category each item is defined. l -column ERA_D_T_FMT LC_MESSAGES t Sy Constant Ta Sy Category Ta Sy Meaning t CODESET LC_CTYPE Codeset name t D_T_FMT LC_TIME String for formatting date and time t D_FMT LC_TIME Date format string t T_FMT LC_TIME Time format string t T_FMT_AMPM LC_TIME A.M. or P.M. time format string t AM_STR LC_TIME Ante-meridiem affix t PM_STR LC_TIME Post-meridiem affix t DAY_1 LC_TIME Name of the first day of the week (e.g.: Sunday) t DAY_2 LC_TIME Name of the second day of the week (e.g.: Monday) t DAY_3 LC_TIME Name of the third day of the week (e.g.: Tuesday) t DAY_4 LC_TIME Name of the fourth day of the week (e.g.: Wednesday) t DAY_5 LC_TIME Name of the fifth day of the week (e.g.: Thursday) t DAY_6 LC_TIME Name of the sixth day of the week (e.g.: Friday) t DAY_7 LC_TIME Name of the seventh day of the week (e.g.: Saturday) t ABDAY_1 LC_TIME Abbreviated name of the first day of the week t ABDAY_2 LC_TIME Abbreviated name of the second day of the week t ABDAY_3 LC_TIME Abbreviated name of the third day of the week t ABDAY_4 LC_TIME Abbreviated name of the fourth day of the week t ABDAY_5 LC_TIME Abbreviated name of the fifth day of the week t ABDAY_6 LC_TIME Abbreviated name of the sixth day of the week t ABDAY_7 LC_TIME Abbreviated name of the seventh day of the week t MON_1 LC_TIME Name of the first month of the year t MON_2 LC_TIME Name of the second month t MON_3 LC_TIME Name of the third month t MON_4 LC_TIME Name of the fourth month t MON_5 LC_TIME Name of the fifth month t MON_6 LC_TIME Name of the sixth month t MON_7 LC_TIME Name of the seventh month t MON_8 LC_TIME Name of the eighth month t MON_9 LC_TIME Name of the ninth month t MON_10 LC_TIME Name of the tenth month t MON_11 LC_TIME Name of the eleventh month t MON_12 LC_TIME Name of the twelfth month t ABMON_1 LC_TIME Abbreviated name of the first month t ABMON_2 LC_TIME Abbreviated name of the second month t ABMON_3 LC_TIME Abbreviated name of the third month t ABMON_4 LC_TIME Abbreviated name of the fourth month t ABMON_5 LC_TIME Abbreviated name of the fifth month t ABMON_6 LC_TIME Abbreviated name of the sixth month t ABMON_7 LC_TIME Abbreviated name of the seventh month t ABMON_8 LC_TIME Abbreviated name of the eighth month t ABMON_9 LC_TIME Abbreviated name of the ninth month t ABMON_10 LC_TIME Abbreviated name of the tenth month t ABMON_11 LC_TIME Abbreviated name of the eleventh month t ABMON_12 LC_TIME Abbreviated name of the twelfth month t ERA LC_TIME Era description segments t ERA_D_FMT LC_TIME Era date format string t ERA_D_T_FMT LC_TIME Era date and time format string t ERA_T_FMT LC_TIME Era time format string t ALT_DIGITS LC_TIME Alternative symbols for digits t RADIXCHAR LC_NUMERIC Radix character t THOUSEP LC_NUMERIC Separator for thousands t YESEXPR LC_MESSAGES Affirmative response expression t NOEXPR LC_MESSAGES Negative response expression .It CRNCYSTR LC_MONETARY Local currency symbol
.El .Sh RETURN VALUES .Fn nl_langinfo returns a pointer to an empty string if .Fa item is invalid. .Sh EXAMPLES The following example uses .Fn nl_langinfo to obtain the date and time format for the current locale:

p d -literal -offset indent #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\en", datestring); return (0); } .Ed .Pp
The following example uses
.Fn nl_langinfo
to obtain the setting of the currency symbol for the current locale:
.Pp
.Bd
#include <langinfo.h>
#include <locale.h>
int main(void)
{
char *ptr;
(void)setlocale(LC_ALL, "");
ptr = nl_langinfo(CRNCYSTR);
printf("%s", ptr);
}
.Ed
.Sh SEE ALSO .Xr setlocale 3 , .Xr tm 3 , .Xr nls 7 .Sh STANDARDS The .Fn nl_langinfo function conforms to .St -p1003.1-2001 . .Sh HISTORY The .Fn nl_langinfo function appeared in .Nx 1.0 .