Salve devo utilizzare la funzione seekg dell istream:

codice:
       fn.str("");
        gn.str("");
        string s2;
      
        fn << 1;      
        gn << 2;
       
        file= "pippo"+fn.str()+"pluto"+gn.str()+".txt";
        ifstream f2(file.c_str());
        f2.seekg (5, ios::end);
        getline(f2, s2);
        cout <<s2 <<endl;
     
        f2.close();
e il file pippo1pluto2.txt termina con
55555555555555555555555555rrrrrrrrrrr

l output non stampa niente.
perchè non mi stampa la successione di r ?

Se invece gli dò f2.seekg (5, ios::begin); allora stampa giustamente la parte finale della prima riga. Ho forse capito male io l'ios::end? non mette il cursore a 5 posizioni prima dell ultimo carattere?