| Boost.Locale

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Examples

whello.cpp

Basic example of using various functions with wide strings provided by this library

    //
    //  Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)
    //
    //  Distributed under the Boost Software License, Version 1.0. (See
    //  accompanying file LICENSE_1_0.txt or copy at
    //  http://www.boost.org/LICENSE_1_0.txt)
    //
    #include <boost/locale.hpp>
    #include <iostream>

    #include <ctime>

    int main()
    {
        using namespace boost::locale;
        using namespace std;

        // Create system default locale
        generator gen;
        locale loc=gen("");
        locale::global(loc);
        wcout.imbue(loc);

        // This is needed to prevent C library to
        // convert strings to narrow
        // instead of C++ on some platforms
        std::ios_base::sync_with_stdio(false);

        wcout <<wformat(L"Today {1,date} at {1,time} we had run our first localization example") % time(0)
              <<endl;

        wcout<<L"This is how we show numbers in this locale "<<as::number << 103.34 <<endl;
        wcout<<L"This is how we show currency in this locale "<<as::currency << 103.34 <<endl;
        wcout<<L"This is typical date in the locale "<<as::date << std::time(0) <<endl;
        wcout<<L"This is typical time in the locale "<<as::time << std::time(0) <<endl;
        wcout<<L"This is upper case "<<to_upper(L"Hello World!")<<endl;
        wcout<<L"This is lower case "<<to_lower(L"Hello World!")<<endl;
        wcout<<L"This is title case "<<to_title(L"Hello World!")<<endl;
        wcout<<L"This is fold case "<<fold_case(L"Hello World!")<<endl;

    }

    // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4