Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    [c++] estrapolare le prime righe di un file txt corposo...

    Per adesso ho questo cod. che estrapola molto bene le righe volute a partire dal fondo del file

    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    
    using namespace std;
    
    #define LINEE 18
    
    int main()
    {
    	ifstream f;
    	f.open("filedaestrapolare.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 fout;
    	 fout.open("solo-le-ultime-18-righe.txt");
    
    	
    	//---------------------------------------------
    	
    	while(ri<=LINEE)
    	{
    		if(c=='\n') ri++;
    		f.seekg(-2, ios::cur);
    		if(f.fail()) 
    		{
    			f.clear();
    			f.seekg(0, ios::beg);
    			break;
    		}
    		f.get(c);
    	}
    
    	string line;
    	getline(f, line);
    	getline(f, line);
    	while(!f.fail())
    	{
                        
            //scrivo su file ogni linea rilevata
    		fout << line;
    		fout << "\n";
    		//----------------------------------
    		cout << line << endl;
    		getline(f, line);
    		
    		//cin.get();
    	}
    
    	f.close();
    
    	//return 0;
    }
    Adesso avrei bisogno però di "invertire" il processo di estrapolazione e prelevare solo le prime 18 righe del file desiderato.

    Ho provato con il sostituire

    codice:
    f.seekg(-1, ios::end);
    con

    codice:
    f.seekg(-1, ios::beg);
    e altre prove... con

    codice:
    while(ri<=LINEE)
    ma nulla...

    :master:

    TNX


  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Apri il file e leggi le prime 18 righe ... non c'è molto codice da scrivere ... la seek non serve.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.