alha na Saída de Fluxo Unicode C ++ do Windows

No momento, estou escrevendo um aplicativo que exige que eu chame GetWindowText em janelas arbitrárias e armazene esses dados em um arquivo para processamento posterior. Para encurtar a história, notei que minha ferramenta estava falhando no Battlefield 3 e reduzi o problema ao seguinte caractere no título da janela:http: //www.fileformat.info/info/unicode/char/2122/index.ht

ntão, criei um pequeno aplicativo de teste que faz o seguinte:

std::wcout << L"\u2122";

Baixo e eis que interrompe a saída na janela do console pelo restante do program

Por que o MSVC STL está sufocando nesse caractere (e eu assumo que outros) quando APIs como MessageBoxW etc o exibem perfeitamente?

Como posso imprimir esses caracteres no meu arquivo?

Testado no VC10 e VC11 no Windows 7 x6

Desculpe o post mal construído, estou arrancando meu cabelo aqu

Obrigado

EDITAR

Caso de teste mínimo

#include <fstream>
#include <iostream>

int main()
{
  {
    std::wofstream test_file("test.txt");
    test_file << L"\u2122";
  }

  std::wcout << L"\u2122";
}

Resultado esperado: caractere '™' impresso no console e no arquivo. Resultado observado: o arquivo foi criado, mas está vazio. Nenhuma saída para o console.

Confirmei que a fonte que estou usando para meu console é capaz de exibir o caractere em questão e o arquivo está definitivamente vazio (tamanho de 0 bytes

EDITAR

depuração posterior mostra que os 'failbit' e 'badbit' estão definidos no (s) fluxo (s

EDITAR

Também tentei usar o Boost.Locale e estou tendo o mesmo problema, mesmo com o novo local imbuído global e explicitamente em todos os fluxos padrã

questionAnswers(8)

yourAnswerToTheQuestion