Ho un file sistemino.txt con il seguente contenuto:


01 02 03 04 05 | 01 02 03 06 07 | 01 02 03 08 09 |
01 02 03 15 16 | 01 02 03 17 18 | 01 02 03 19 20 |
01 02 04 06 08 | 01 02 04 06 09 | 01 02 04 07 08 |
01 02 04 07 09 | 01 02 04 15 17 | 01 02 04 15 18 |
01 02 04 16 17 | 01 02 04 16 18 | 01 02 04 19 20 |
01 02 05 06 08 | 01 02 05 06 09 | 01 02 05 07 08 |
01 02 05 07 09 | 01 02 05 15 17 | 01 02 05 15 18 |
01 02 05 16 17 | 01 02 05 16 18 | 01 02 05 19 20 |

io lo vorrei semplicemente riordinare in un altro file sisteminoordinato.txt in questo modo:

01,02,03,04,05
01,02,03,06,07
01,02,03,08,09
01,02,03,15,16
01,02,03,17,18
01,02,03,19,20
ecc...

ovvero vorrei semplicemente sostituire in automatico il carattere "|" con un ritorno a capo "\n" e il carattere " " con il carattere ","

Ho provato a fare così:


codice:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iomanip>


using namespace std;

string intToString(int value) {
    stringstream ss;
    ss << value;
    return ss.str();
}

string floatToString(float value) {
    stringstream ss;
    ss << value;
    return ss.str();
}


int main (int argc, char *argv[]) {

vector<string> vec;

ifstream fin("sisteminog4.txt");
if (fin) {
   string s;
   while(fin) // cattura tutti gli errori.
   {
      getline(fin,s);
      cout << s; 
      
//cerco di sostituire... il primo carattere voluto...
            
      s.replace(0,s.length(), '|', '\n');

//cerco di sostituire... il secondo carattere voluto...
            
      s.replace(0,s.length(), ' ', ',');
      
      cout << s;
      cin.get();
      vec.push_back(s);
   }
}


    ofstream fout;
	
	fout.open("sisteminog4ottimizzato.txt", ios::app);

	
	//ultima riga trasformata...
	string sistemino= vec[vec.size()-1];
	fout << sistemino;
	fout << "\n";


cout << "Press ENTER to continue...x CHIUDERE..." << endl;
cout << "\n\n\n"; 
cin.get();
//return 0;


}
Ma non funzia
Dove sbaglio?

GRAZIE