Cómo leer el archivo que contiene \ uxxxx en vc ++

Tengo un archivo txt cuyo contenido es:

\ u041f \ u0435 \ u0440 \ u0432 \ u044b \ u0439 \ \ u0438 \ u043d \ u0442 \ u0435 \ u0440 \ u0430 \ u0432 \ u0438 \ u04 x04 \ u04 \ u04. \ u0435 \ u0442_ \ u043a \ u0430 \ u043d \ u0430 \ u043b

¿Cómo puedo leer dicho archivo para obtener un resultado como este:

"Первый_интерактивный_интернет_канал"

Si escribo esto:

string str = _T("\u041f\u0435\u0440\u0432\u044b\u0439_\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439_\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442_\u043a\u0430\u043d\u0430\u043b");

entonces resulta enstr es bueno, pero si lo leo del archivo, es lo mismo que en el archivo. Supongo que es porque '\ u' se convierte en '\ u'. ¿Hay alguna forma simple de convertir la notación \ uxxxx en los símbolos correspondientes en C ++?