localeconv

Defined in header <locale.h>
struct lconv *localeconv(void);

The localeconv function obtains a pointer to a static object of type lconv, which represents numeric and monetary formatting rules of the current C locale.

Parameters

(none).

Return value

pointer to the current lconv object.

Notes

Modifying the object references through the returned pointer is undefined behavior.

localeconv modifies a static object, calling it from different threads without synchronization is undefined behavior.

Example

#include <stdio.h>
#include <locale.h>
 
int main(void)
{
  setlocale(LC_MONETARY, "en_IN.utf8");
  struct lconv *lc = localeconv();
  printf("Local Currency Symbol        : %s\n", lc->currency_symbol);
  printf("International Currency Symbol: %s\n", lc->int_curr_symbol);
}

Output:

Local Currency Symbol        : ₹
International Currency Symbol: INR

References

  • C11 standard (ISO/IEC 9899:2011):
    • 7.11.2.1 The localeconv function (p: 225-230)
  • C99 standard (ISO/IEC 9899:1999):
    • 7.11.2.1 The localeconv function (p: 206-211)
  • C89/C90 standard (ISO/IEC 9899:1990):
    • 4.4.2.1 The localeconv function

See also

gets and sets the current C locale
(function)
formatting details, returned by localeconv
(struct)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/locale/localeconv