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ì:
Ma non funziacodice:#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; }![]()
![]()
Dove sbaglio?![]()
GRAZIE
![]()

Rispondi quotando