C++ localeconv()

The localeconv() function in C++ returns an object that represents numeric and monetary formatting rules of the current C locale.

The localeconv() function is defined in <clocale> header file.

localeconv() prototype

lconv* localeconv();

The object returned by localeconv() shouldn't be changed by the program, because it is overridden by using setlocale() or call to the same function again.


localeconv() Parameters

  • None

localeconv() Return value

  • The localeconv() function returns a pointer to a static object which contains numeric and monetary formatting rules of the current C locale.

Example: How localeconv() function works?

#include <iostream>
#include <clocale>
using namespace std;

int main()
{
	lconv *l;

	setlocale(LC_MONETARY, "en_GB.utf8");
	l = localeconv();
	cout << "Locale Currency Symbol = " << l->currency_symbol << endl;
	cout << "International Currency Symbol = " << l->int_curr_symbol << endl;

	setlocale(LC_MONETARY, "en_US.utf8");
	l = localeconv();
	cout << "Locale Currency Symbol = " << l->currency_symbol << endl;
	cout << "International Currency Symbol = " << l->int_curr_symbol << endl;
	
	return 0;
}

When you run the program, the output will be:

Locale Currency Symbol = £
International Currency Symbol = GBP
Locale Currency Symbol = $
International Currency Symbol = USD