Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Scomporre un unico file in 5 files distinti...
Forum - C/C++ - Scomporre un unico file in 5 files distinti...

Avatar
tommyprojects2011 (Normal User)
Newbie


Messaggi: 10
Iscritto: 15/01/2011

Segnala al moderatore
Postato alle 17:14
Domenica, 27/02/2011
un unico file estrazioni.txt contentente righe del tipo:

40,63,18,5,27
30,19,33,28,52
57,64,54,32,6
81,83,7,9,67
39,90,21,12,89
66,47,29,78,89
55,57,78,66,50
3,1,17,85,8
84,68,70,5,71
5,27,73,75,85

vorrei per ogni elemento separato da virgola creare un rispettivo file txt in modo che ogni virgola "colonna" mi  identifichi appunto un nuovo file...

es:

la prima virgola dovrebbe creare...
colonna1.txt contenente:
40
30
57
81
ecc...
colonna2.txt contenente:
63
19
64
83
ecc...
e così via fino a
colonna5.txt contenente:
27
52
6

ecc...

Per ulteriori chiarimenti son qua
grazie del vostro aiuto

Per rispondere all'amico Marco

il codice che mi permette di leggere il file ed eventualmente modificarlo è questo:
Solo che se metto al posto del "\n" il "," per avere in un file solo una colonna...
il file creato è identico a quello che ottengo lasciando il "\n"

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. #define LINEE 500
  8.  
  9. int main()
  10. {
  11.         ifstream f;
  12.         f.open("PRIME-500-RIGHE.txt", ios::binary);
  13.  
  14.         int ri=0;
  15.         f.seekg(-1, ios::end);
  16.         char c;
  17.         f.get(c);
  18.        
  19.         //APRO FILE CON LE ULTIME RIGHE CHE INTERESSANO
  20.        
  21.          ofstream fout;
  22.          fout.open("colonna1.txt");
  23.  
  24.        
  25.         //---------------------------------------------
  26.        
  27.         while(ri<LINEE)
  28.         {
  29.                 if(c=='\n') ri++;
  30.                 f.seekg(-2, ios::cur);
  31.                 if(f.fail())
  32.                 {
  33.                         f.clear();
  34.                         f.seekg(0, ios::beg);
  35.                         break;
  36.                 }
  37.                 f.get(c);
  38.         }
  39.  
  40.         string line;
  41.         getline(f, line);
  42.         getline(f, line);
  43.         while(!f.fail())
  44.         {
  45.                    
  46.         //scrivo su file ogni linea rilevata
  47.                 fout << line;
  48.                 fout << "\n";
  49.                 //----------------------------------
  50.                 cout << line;
  51.                 getline(f, line);
  52.                
  53.                 //cin.get();
  54.         }
  55.  
  56.         f.close();
  57.  
  58.         //return 0;
  59. }



Grazie 1000 se mi posti dove e come modificarlo 8-)

Ps: Perchè il bottone "ricevi una notifica via e-mail ogni volta che qualcuno risponde al post" è disattivo??? Sarebbe molto utile invece... :)

Ultima modifica effettuata da tommyprojects2011 il 27/02/2011 alle 23:35
PM
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 18:54
Domenica, 27/02/2011
Ciao!

Ho letto il tuo quesito.
per risolverlo, basta applicare le normali regole di lettura e scrittura su file.

Dove trovi difficoltà?

Io per leggere il file ho questo cod : - tommyprojects2011 - 27/02/11 23:27
#include <iostream> #include <fstream> #include <string> using namespace std; #define LINEE 500 int main() { ifstream f; f.open("PRIME-500-RIGHE.txt", ios::binary); int ri=0; f.seekg(-1, ios::end); char c; f.get(c); //APRO FILE CON LE ULTIME RIGHE CHE INTERESSANO ofstream - tommyprojects2011 - 27/02/11 23:28
evidentemente non è questo il modo per rispondere ai msg me ne scuso provo a modificare il post principale se mi vuoi dare una mano il codice lo vedrai meglio li' grazie anticipate - tommyprojects2011 - 27/02/11 23:30
PM