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