#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main () {
    setlocale(LC_ALL, "en_US.utf8");
    wcin.imbue(locale());
    wcout.imbue(locale());
    
        wstring frase; // note: wstring, not string
        while( getline(wcin, frase)) {
                wcout << "entered: " << frase << '\n';
        for(size_t n = 0; n < frase.size(); ++n)
            frase[n] = towlower(frase[n]);
                wcout << "lowercased: " << frase << '\n';
        }
}
