| .\" Copyright (c) 2001 Markus Kuhn <mkuhn@acm.org> |
| .\" |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" References consulted: |
| .\" GNU glibc-2 manual |
| .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html |
| .\" |
| .\" Corrected prototype, 2002-10-18, aeb |
| .\" |
| .TH NL_LANGINFO 3 2010-10-03 "GNU" "Linux Programmer's Manual" |
| .SH NAME |
| nl_langinfo \- query language and locale information |
| .SH SYNOPSIS |
| .nf |
| .B #include <langinfo.h> |
| .sp |
| .BI "char *nl_langinfo(nl_item " item ); |
| .fi |
| .SH DESCRIPTION |
| The |
| .BR nl_langinfo () |
| function provides access to locale information |
| in a more flexible way than |
| .BR localeconv (3) |
| does. |
| Individual and additional elements of the locale categories can |
| be queried. |
| .PP |
| Examples for the locale elements that can be specified in \fIitem\fP |
| using the constants defined in \fI<langinfo.h>\fP are: |
| .TP |
| .BR CODESET \ (LC_CTYPE) |
| Return a string with the name of the character encoding used in the |
| selected locale, such as "UTF-8", "ISO-8859-1", or "ANSI_X3.4-1968" |
| (better known as US-ASCII). |
| This is the same string that you get with |
| "locale charmap". |
| For a list of character encoding names, |
| try "locale \-m", cf.\& |
| .BR locale (1). |
| .TP |
| .BR D_T_FMT \ (LC_TIME) |
| Return a string that can be used as a format string for |
| .BR strftime (3) |
| to represent time and date in a locale-specific way. |
| .TP |
| .BR D_FMT \ (LC_TIME) |
| Return a string that can be used as a format string for |
| .BR strftime (3) |
| to represent a date in a locale-specific way. |
| .TP |
| .BR T_FMT \ (LC_TIME) |
| Return a string that can be used as a format string for |
| .BR strftime (3) |
| to represent a time in a locale-specific way. |
| .TP |
| .BR DAY_ "{1\(en7} (LC_TIME)" |
| Return name of the \fIn\fP-th day of the week. [Warning: this follows |
| the US convention DAY_1 = Sunday, not the international convention |
| (ISO 8601) that Monday is the first day of the week.] |
| .TP |
| .BR ABDAY_ "{1\(en7} (LC_TIME)" |
| Return abbreviated name of the \fIn\fP-th day of the week. |
| .TP |
| .BR MON_ "{1\(en12} (LC_TIME)" |
| Return name of the \fIn\fP-th month. |
| .TP |
| .BR ABMON_ "{1\(en12} (LC_TIME)" |
| Return abbreviated name of the \fIn\fP-th month. |
| .TP |
| .BR RADIXCHAR \ (LC_NUMERIC) |
| Return radix character (decimal dot, decimal comma, etc.). |
| .TP |
| .BR THOUSEP \ (LC_NUMERIC) |
| Return separator character for thousands (groups of three digits). |
| .TP |
| .BR YESEXPR \ (LC_MESSAGES) |
| Return a regular expression that can be used with the |
| .BR regex (3) |
| function to recognize a positive response to a yes/no question. |
| .TP |
| .BR NOEXPR \ (LC_MESSAGES) |
| Return a regular expression that can be used with the |
| .BR regex (3) |
| function to recognize a negative response to a yes/no question. |
| .TP |
| .BR CRNCYSTR \ (LC_MONETARY) |
| Return the currency symbol, 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. |
| .PP |
| The above list covers just some examples of items that can be requested. |
| For a more detailed list, consult |
| .IR "The GNU C Library Reference Manual" . |
| .SH "RETURN VALUE" |
| If no locale has been selected by |
| .BR setlocale (3) |
| for the appropriate category, |
| .BR nl_langinfo () |
| returns a pointer to the corresponding string in the |
| "C" locale. |
| .PP |
| If \fIitem\fP is not valid, a pointer to an empty string is returned. |
| .PP |
| This pointer may point to static data that may be overwritten on the |
| next call to |
| .BR nl_langinfo () |
| or |
| .BR setlocale (3). |
| .SH "CONFORMING TO" |
| SUSv2, POSIX.1-2001. |
| .SH "EXAMPLE" |
| The following program sets the character type locale according to the |
| environment and queries the terminal character set. |
| .LP |
| .nf |
| #include <langinfo.h> |
| #include <locale.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| |
| int |
| main(int argc, char *argv[]) |
| { |
| setlocale(LC_CTYPE,""); |
| printf("%s\\n",nl_langinfo(CODESET)); |
| exit(EXIT_SUCCESS); |
| } |
| .fi |
| .SH "SEE ALSO" |
| .BR locale (1), |
| .BR localeconv (3), |
| .BR setlocale (3), |
| .BR charsets (7), |
| .BR locale (7) |
| .br |
| The GNU C Library Reference Manual |