Defined in header <locale>
std::string name() const;

Returns the name of the locale, which is the name by which it is known to the operating system, such as "POSIX" or "en_US.UTF8" or "English_United States.1252". If the locale is not a copy of a system-supplied locale, the string "*" is returned.

Return value

The name of the locale or "*" if unnamed.


#include <locale>
#include <iostream>
#include <string>
int main()
    std::locale loc(std::locale(), new std::ctype<char>);
    std::cout << "The default locale is " << std::locale().name() << '\n'
              << "The user's locale is " << std::locale("").name() << '\n'
              << "A nameless locale is " << loc.name() << '\n';


The default locale is C
The user's locale is en_US.UTF8
A nameless locale is *

See also

constructs a new locale
(public member function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.