clocale header file in C++
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:
- 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:$
- 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