##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::localeconv

From cppreference.com
< cpp‎ | locale

Defined in header `<clocale>` |  |
std::lconv* localeconv(); |  |

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

### [edit] Parameters

(none)

### [edit] Return value

Pointer to the current std::lconv object.

### [edit] Notes

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

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

### [edit] Example

[edit]
Run this code

    #include <clocale>
    #include <iostream>

    int main()
    {
        std::setlocale(LC_ALL, "ja_JP.UTF-8");
        std::lconv* lc = std::localeconv();
        std::cout << "Japanese currency symbol: " << lc->currency_symbol
                  << '(' << lc->int_curr_symbol << ")\n";
    }

Output:

    Japanese currency symbol: ￥(JPY )

### [edit] See also

setlocale | gets and sets the current C locale (function) [edit]
lconv | formatting details, returned by std::localeconv (class) [edit]
C documentation for localeconv

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/locale/localeconv&oldid=58163"