Skip to content
Related Articles

Related Articles

Improve Article

clocale header file in C++

  • Last Updated : 12 Jan, 2019

clocale: This header file contains declaration of a set of functions and a type for internationalization support tasks. It supports date format or country specific currency symbols.
For example, date/time formatting, monetary formatting and many more.

Methods in clocale header:

  1. localeconv(): This function returns an object which represents numeric and monetary formatting rules of the current C locale. Its corresponding header file is . The “c” locale is the minimal locale. It is a locale which has the same settings across all the compilers, so the result is predictable anyway. By default used on all C programs.

    Prototype

    lconv* localeconv();
    

    Parameters: This method has no parameters.

    Return value: This function returns a pointer to a static object that contains numeric and monetary formatting rules of the current C locale.



    Program:




    #include <iostream>
    #include <locale.h>
    using namespace std;
      
    int main()
    {
        setlocale(LC_MONETARY, "en_US.utf8");
        struct lconv* lc = localeconv();
        printf("%s ", lc->currency_symbol);
        return 0;
    }
    Output:
    $
    
  2. setlocale(): The setlocale() function installs the specified system locale. Moreover, it sets the locale information for the current C program. It can also be used to query the current C locale. It has some parameters namely,
    • LC_ALL -> Selects all the C locale
    • LC_NUMERIC -> Selects numeric formatting category
    • LC_MONETARY -> Monetary formatting category
    • LC_CTYPE -> Character classification category
    • LC_TIME -> Time formatting category

    Prototype:

    int setlocale(int category, const char* locale);
    

    Return value: It returns a pointer to the string identifying the C locale after applying the changes. Otherwise, it returns a NULL pointer.

    Program:




    #include <clocale>
    #include <iostream>
    using namespace std;
      
    int main()
    {
        char* s;
        setlocale(LC_ALL, "en_UA.utf8");
        s = setlocale(LC_ALL, NULL);
        cout << s << "\n";
        return 0;
    }
    Output:
    C
    
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :