Primero decirte una cosilla del ultimo codigo que has colgado:
Estas declarando un arreglo de punteros de siete elementos pero inmediatamente despues cuando introduces los datos del arreglo:
v[0] = '320';
v[1] = '330';
v[2] = '330a';
v[3] = '332';
v[4] = '333';
v[5] = '333a';
v[6] = '335';
v[7] = '335a';
Estas escribiendo ocho elementos en el arreglo que habias declarado como de siete elmentos. Solo has de rectificar la declaracion del arreglo tal que asi:
Y lo mismo te ocurre con los siguientes arreglos
Volviendo al tema, en c++ lo que puedes hacer es crear un objeto de tipo string y aprovecharte de los metodos que te ofrecen la clase string como podria ser string.append(). Un ejemplo de lo que quiero decirte:
#include <string>
using namespace std;
int main()
{
string cadena;
if (so == windows) //si el sistema operativo es windows el objeto cadena empezaria por los caracteres "win"
cadena = "win";
else if(so == apple)
cadena = "mac";
if(idioma == espanol) //si el idioma es espanol le anadimos al objeto cadena los caracteres "es"
cadena.append("es");
else if(idioma == ingles)
cadena.append("eng");
return 0;
}
Si estuviesemos en windows y en ingles el objeto cadena que hemos creado tendria los siquientes caracteres "wineng".
Las condiciones que he escrito en los if y else...if son solo un ejemplo, eso ya seria en funcion de como tengas implemetando el rellenado de los nombres de tus archivos.