C++ : caractere româneşti

Lucrăm cu Microsoft Visual Studio Enterprise 2015 în Windows 10 Professional (thanks, MSDNAA).

Descărcaţi codulPentru vizualizare, folosiţi scrollbar-ul din josul blocului de cod.
#include <iostream>
#include <io.h>
#include <fcntl.h>
#include <conio.h>

int main() 
{
	_setmode(_fileno(stdout), _O_U16TEXT);
	/**
	* Coduri preluate dupa
	* "http://www.columbia.edu/kermit/ucs2.html".
	* Sunt coduri UCS-2, vezi "https://en.wikipedia.org/wiki/UTF-16#UCS-2".
	*/
	std::wcout << L"Literele noastre:\nLitere cu \"a\":\n"
		          L"[\u00C2] [\u00E2]\n"
		          L"[\u0102] [\u0103]\n"
		          L"Litere cu \"i\":\n"
		          L"[\u00CE] [\u00EE]\n"
		          L"Litere cu \"s\":\n"
		          L"[\u015E] [\u015F]\n"
		          L"Litere cu \"t\":\n"
		          L"[\u0162] [\u0163]."
		       << std::endl;
	_getch();
}

Lucrăm cu Code::Blocks 16.01 în Ubuntu 16.04. Compilatorul este GNU GCC Compiler (g++).
Din meniu, la rubrica Project/Build options, trebuie bifată linia Have g++ follow the C++14 ISO C++ language standard [-std=c++14].

Descărcaţi codulPentru vizualizare, folosiţi scrollbar-ul din josul blocului de cod.
#include <iostream>

int main() 
{
	/**
	* Coduri preluate dupa
	* "http://www.columbia.edu/kermit/ucs2.html".
	* Sunt coduri UCS-2, vezi "https://en.wikipedia.org/wiki/UTF-16#UCS-2".
	*/

	/**
	* Pentru a vedea codificarea (UTF-8) acestor caractere,
        * adaugati blocul de cod:
        * {
        *    #include <typeinfo>
        *    std::cout << typeid("\u00C2").name() << std::endl;
        * }
        * Pentru a descrifra raspunsul, notat <raspuns>, apelati
        * c++filt (vezi "https://sourceware.org/binutils/docs-2.20/binutils/c_002b_002bfilt.html")
        * dintr-un Terminal, mai precis:
        * $ c++filt -t <raspuns>
        * Un exemplu:
        * $ c++filt -t A3_c
        * Rezultatul descifrarii: "char [3]".
	*/
	std::cout << "Literele noastre:\nLitere cu \"a\":\n"
                  "[\u00C2] [\u00E2]\n"
                  "[\u0102] [\u0103]\n"
                  "Litere cu \"i\":\n"
                  "[\u00CE] [\u00EE]\n"
                  "Litere cu \"s\":\n"
                  "[\u015E] [\u015F]\n"
                  "Litere cu \"t\":\n"
                  "[\u0162] [\u0163]."
               << std::endl;
}