Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: All
Aug 29, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Introducing C++ Locales

The standard locale framework was added to ANSI/ISO C++ in 1994. In essence, it consists of template classes called "locales", which use facets. A facet represents a certain cultural convention that might vary across locales, e.g., a currency sign, date format, or weekday names. A locale's name is typically a string of the form: "en_US" and "es_AR", which stand for English, USA and Spanish, Argentina, respectively. The locale consists of both the language code and country code because a country can have several languages (for instance, Switzerland, Belgium, and Canada have more than one official language). Likewise, the same language can be spoken in several countries (German is spoken in Germany, Austria, Switzerland, Luxembourg, and other countries). Note that the actual locale name is platform dependent. The POSIX standard recommends using lowercase language code followed by an optional uppercase country code. This combination may be followed by an optional affix describing the codeset used, e.g., "jp_JP.jit". However, you may use other names for your locales.

The C++ locale framework classes and functions are defined in the standard header <locale >. Remember not to confuse it with <locale.h > or <clocale >, which declare the C locale framework (the C and C++ locale frameworks are different). A good introduction to C++ locales is available at http://www.research.att.com/~bs/3rd_loc.pdf

Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date