actualizando una tabla de cadenas con UpdateResource

Hice la pregunta aquí.actualizando STRING TABLE a través de UpdateResource (agregando múltiples cadenas)

Y ahora vuelvo a preguntar, ya que esta vez puedo agregar muchos más detalles a la pregunta.

He estado intentando esto durante el último día o algo sin éxito. Lo que quiero que sea el resultado es así (agregué manualmente las cadenas en MSVS): Como puede ver, varias entradas, y está "limpio" y el programa puede acceder a él fácilmente.

En este momento, mi fuente:

wstring buffer[5] = {L" Meow",L" I",L" Am",L" A",L" Dinosaur"}; // ignore the string
if (HANDLE hRes = BeginUpdateResource("Output.exe",TRUE))
{
    for (int i = 0; i < 5; i++)
    {
    wchar_t * temp;
    temp = new wchar_t[(buffer[i].length()+1)];
    wcscpy(temp,buffer[i].c_str());
    wcout << temp << endl;
    UpdateResource(hRes,RT_STRING,MAKEINTRESOURCE(1),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
                   temp, 48); //buffer[i].length()+1
    delete[] temp;
    }
    EndUpdateResource(hRes,FALSE);

}

Produce:

Lo cual es incorrecto, ya que parece que solo ha agregado la última cadena a la tabla, ¡no las cadenas anteriores!

Cuando intento modificar la fuente, MAKEINTRESOURCE (1) ahora es "MAKEINTRESOURCE (i)", el resultado es el siguiente:

Éxito en el hecho de que agregó todas las cadenas, pero parece haber creado varias tablas de cadenas que no es lo que se deseaba. Aunque me doy cuenta de que las identificaciones se han incrementado en 16 en cada imagen, lo que posiblemente podría explicar algo. Básicamente, quiero que las cadenas se formateen como en la primera imagen (con las múltiples cadenas), pero no tengo una idea real de cómo hacerlo.

Gracias por su asistencia.

Respuestas a la pregunta(1)

Su respuesta a la pregunta