Ticket #3634: testLocaleBoost.cpp

File testLocaleBoost.cpp, 1.1 KB (added by Thomas Dorner <td-eclipse@…>, 13 years ago)

example demonstrating the problem

Line 
1/*
2CC -I ~/boost_1_40_0 -o testLocaleBoost testLocaleBoost.cpp && \
3./testLocaleBoost && echo ===== && LC_CTYPE=de ./testLocaleBoost
4*/
5
6#include <string>
7#include <vector>
8#include <iostream>
9#include <locale>
10
11#include <boost/algorithm/string/case_conv.hpp>
12
13int main()
14{
15 const std::string l_strInput("abÄÖÜßäöüAB");
16 std::vector<std::string> l_vecStrLocale;
17
18 l_vecStrLocale.push_back("C");
19 l_vecStrLocale.push_back("de");
20 l_vecStrLocale.push_back("something");
21 l_vecStrLocale.push_back("");
22
23 for(std::vector<std::string>::iterator l_iterStrLocale =
24 l_vecStrLocale.begin();
25 l_iterStrLocale != l_vecStrLocale.end();
26 ++l_iterStrLocale)
27 {
28 const char* const l_szLocale =
29 ::setlocale(LC_CTYPE, l_iterStrLocale->c_str());
30 std::string l_strOutput = l_strInput;
31 boost::to_upper(l_strOutput);
32 std::cout << l_strInput << " -> " << l_strOutput
33 << "\tlocale is " << (l_szLocale ? l_szLocale : "UNDEF")
34 << " (set to " << *l_iterStrLocale << ").\n";
35 }
36}