Con questo cod:

codice:
#include <iostream> 
#include <fstream> 
#include <string> 
#include <sstream> 
#include <windows.h>

using namespace std; 

int main () { 
    
        
//ATTESA FILE DESIDERATO...
    
FILE *in;
do{
in=fopen("filescremato5.txt", "r");
if(in==NULL)
Sleep(1000);
}while(in==NULL);
//seguito
Sleep(1000);

//FINE ATTESA...

    ofstream out_file("ambate-primostep.txt"); 

    for (int i=0; i<5; i++) 
    { 
        ostringstream filename; 
        string line; 

        filename << "filescremato" << i << ".txt"; 
        ifstream file(filename.str().c_str());     
     
        while(getline(file, line, '\n')) 
        { 
            
std::string astring(line);
std::remove(astring.begin(), astring.end(), ' ');
            
            out_file << line << "\n";             
        }         
                 
        if(i == 2){ //<- 1 
            out_file.seekp(-1, ios::end); 
            out_file << '\n'; 
        }         
                 
        file.close(); 
    } 
     
    out_file.close(); 
}

ottengo queste righe a valore unico:

25
45
53
59
35
21
31
40
63

questo su file TXT perchè se invece incollo lo stesso contenuto su file .rtf

prende la seguente forma:

25
45
53
59
35 21
31
40
63

ovvero 35 e 21 risultano erronamente sulla stessa linea intervallati da uno spazio nonostante il tentativo di pulizia fatto all'interno del codice...

Qualcuno saprebbe dirmi come mai il programma continua ad ignorare la pulizia della linea?

Grazie!