Manejo de caracteres no Ascii en C ++

Estoy enfrentando algunos problemas con los caracteres que no son Ascii en C ++. Tengo un archivo que contiene caracteres no-ascii que estoy leyendo en C ++ a través del manejo de archivos. Después de leer el archivo (digamos 1.txt), estoy almacenando los datos en una secuencia de cadenas y los estoy escribiendo en otro archivo (digamos 2.txt).

Supongamos que 1.txt contiene:

ação

En 2.txt debería obtener la misma salida, pero los caracteres que no son Ascii se imprimen como valor hexadecimal en 2.txt.

Además, estoy bastante seguro de que C ++ está manejando caracteres Ascii como Ascii solamente.

Por favor, Ayuda sobre cómo imprimir estos caracteres correctamente en 2.txt

EDITAR:

Primer Código Psuedo para Todo el Proceso:

1.Shell script to Read from DB one Value and stores in 11.txt
2.CPP Code(a.cpp) reading 11.txt and Writing to f.txt

Datos presentes en DB que se está leyendo:Instalação

El archivo 11.txt contiene:Instalação

El archivo F.txt contiene:Instalação

Salida de a.cpp en pantalla:Instalação

a.cpp

#include <iterator>
#include <iostream>
#include <algorithm>
#include <sstream>
#include<fstream>
#include <iomanip>

using namespace std;
int main()
{
    ifstream myReadFile;
    ofstream f2;
    myReadFile.open("11.txt");
    f2.open("f2.txt");
    string output;
    if (myReadFile.is_open()) 
    {
        while (!myReadFile.eof())
        {
            myReadFile >> output;
                //cout<<output;

            cout<<"\n";

            std::stringstream tempDummyLineItem;
            tempDummyLineItem <<output;
            cout<<tempDummyLineItem.str();
            f2<<tempDummyLineItem.str();
        }
    }
    myReadFile.close();
    return 0;
}

Locale dice esto:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Respuestas a la pregunta(2)

Su respuesta a la pregunta