Open In App

clocale header file in C++

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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
    


Last Updated : 12 Jan, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads