Questo

char filename[];

non ha senso ... neanche in C ...

In C++, invece, ti hanno già indicato che devi usare una string.

sasy ... se non hai completamente le basi del linguaggio, non ha alcun senso che il forum ti scriva il codice completo e corretto. A parte il fatto che non è consentito da regolamento, tu non te ne faresti nulla e non impareresti nulla.

Quindi, l'unico modo è approfondire dai libri e tornare nel forum solo quando avrai acquisito le basi.