langinfo.h(0P)
π¦ langinfo.h(0P) β POSIX Programmer's Manual π¦
okay bestie, we're reading a POSIX Programmer's Manual page, no cap, and this one is all about the <langinfo.h> header. Buckle up, it's giving lore π
π PROLOG π
Real talk first: this manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ β so go consult the corresponding Linux manual page for details of Linux behavior β or honestly the interface may not even be implemented on Linux at all. π
β¨ NAME β¨
langinfo.h β language information constants π«Ά
πΈ SYNOPSIS πΈ
#include <langinfo.h>
π DESCRIPTION π
so the <langinfo.h> header shall define the symbolic constants that identify items of langinfo data (peep nl_langinfo() for that, iykyk).
The <langinfo.h> header shall define the locale_t type as described in <locale.h>.
The <langinfo.h> header shall define the nl_item type as described in <nl_types.h>.
The <langinfo.h> header shall define the following symbolic constants with type nl_item. The entries under Category tell you in which setlocale() category each item is defined. Not me organizing them by category so you don't get lost π
π LC_CTYPE girlies
CODESET(Category:LC_CTYPE) β the codeset name.
β° LC_TIME girlies (the big group, she's iconic)
D_T_FMTβ string for formatting date and time.D_FMTβ date format string.T_FMTβ time format string.T_FMT_AMPMβ a.m. or p.m. time format string.AM_STRβ ante-meridiem affix.PM_STRβ post-meridiem affix.DAY_1β name of the first day of the week (for example, Sunday).DAY_2β name of the second day of the week (for example, Monday).DAY_3β name of the third day of the week (for example, Tuesday).DAY_4β name of the fourth day of the week (for example, Wednesday).DAY_5β name of the fifth day of the week (for example, Thursday).DAY_6β name of the sixth day of the week (for example, Friday).DAY_7β name of the seventh day of the week (for example, Saturday).ABDAY_1β abbreviated name of the first day of the week.ABDAY_2β abbreviated name of the second day of the week.ABDAY_3β abbreviated name of the third day of the week.ABDAY_4β abbreviated name of the fourth day of the week.ABDAY_5β abbreviated name of the fifth day of the week.ABDAY_6β abbreviated name of the sixth day of the week.ABDAY_7β abbreviated name of the seventh day of the week.MON_1β name of the first month of the year.MON_2β name of the second month.MON_3β name of the third month.MON_4β name of the fourth month.MON_5β name of the fifth month.MON_6β name of the sixth month.MON_7β name of the seventh month.MON_8β name of the eighth month.MON_9β name of the ninth month.MON_10β name of the tenth month.MON_11β name of the eleventh month.MON_12β name of the twelfth month.ABMON_1β abbreviated name of the first month.ABMON_2β abbreviated name of the second month.ABMON_3β abbreviated name of the third month.ABMON_4β abbreviated name of the fourth month.ABMON_5β abbreviated name of the fifth month.ABMON_6β abbreviated name of the sixth month.ABMON_7β abbreviated name of the seventh month.ABMON_8β abbreviated name of the eighth month.ABMON_9β abbreviated name of the ninth month.ABMON_10β abbreviated name of the tenth month.ABMON_11β abbreviated name of the eleventh month.ABMON_12β abbreviated name of the twelfth month.ERAβ era description segments.ERA_D_FMTβ era date format string.ERA_D_T_FMTβ era date and time format string.ERA_T_FMTβ era time format string.ALT_DIGITSβ alternative symbols for digits.
π’ LC_NUMERIC girlies
RADIXCHAR(Category:LC_NUMERIC) β radix character.THOUSEP(Category:LC_NUMERIC) β separator for thousands.
π¬ LC_MESSAGES girlies
YESEXPR(Category:LC_MESSAGES) β affirmative response expression.NOEXPR(Category:LC_MESSAGES) β negative response expression.
πΈ LC_MONETARY girlies
CRNCYSTR(Category:LC_MONETARY) β local currency symbol, and listen closely because this one's a whole situation: it's preceded by-if the symbol should appear before the value,+if the symbol should appear after the value, or.if the symbol should replace the radix character. And if the local currency symbol is the empty string, implementations may return the empty string (""). π«
β οΈ heads up bestie: if the locale's values forp_cs_precedesandn_cs_precedesdo not match, then the value ofnl_langinfo(CRNCYSTR)andnl_langinfo_l(CRNCYSTR,loc)is unspecified. Yeah. Undefined. Don't come crying to me π
The following shall be declared as a function and may also be defined as a macro. A function prototype shall be provided.
char *nl_langinfo(nl_item);
char *nl_langinfo_l(nl_item, locale_t);
Also, inclusion of the <langinfo.h> header may also make visible all symbols from <nl_types.h>. Surprise, she shares π
The following sections are informative.
π«Ά APPLICATION USAGE π«Ά
Wherever possible, users are advised to use functions compatible with those in the ISO C standard to access items of langinfo data. Like, pls. Specifically:
- the
strftime()function should be used to access date and time information defined in categoryLC_TIME. - the
localeconv()function should be used to access information corresponding toRADIXCHAR,THOUSEP, andCRNCYSTR.
That's the move. Do that π
πΈ RATIONALE πΈ
None.
(she said nothing, periodt)
π¦ FUTURE DIRECTIONS π¦
None.
π SEE ALSO π
- Chapter 7, Locale
<locale.h><nl_types.h>- The System Interfaces volume of POSIX.1β2017,
nl_langinfo(),localeconv(),strfmon(),strftime()
π COPYRIGHT π
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .
Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .
and that's the whole page, bestie π this little love letter was brought to you by IEEE/The Open Group, 2017, filed under langinfo.h(0P) β go forth and langinfo responsibly πβ¨
π¦ where this page comes from
- alpine 3.22: man-pages-posix 2017a-r0 Β· custom
- alpine 3.23: man-pages-posix 2017a-r0 Β· custom
- alpine 3.24: man-pages-posix 2017a-r0 Β· custom
- arch rolling: man-pages 6.19-1
- arch rolling: man-pages 6.20-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
- nixpkgs unstable: man-pages-posix 2017a
- opensuse-leap 16.0: man-pages-posix 2017a-160000.4.1 Β· SUSE-IEEE
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms