PDA

Visualizza la versione completa : [c++] Problema con eof...


freetom
26-07-2009, 23:05
//INIZIALIZZO ARRAYS...

string tuttestrazioni[150000];

//---------------------

//APRO FILE TUTTESTRAZIONI.txt e popolo relativo array tuttestrazioni

int r=0;

ifstream leggerefile2("estrazioni.txt",ios::out);
while(!(leggerefile2.eof()) && r<150000)
{

//legge parola per parola e le salva sull'array di stringhe una per volta
leggerefile2 >>tuttestrazioni[r];

cout<< tuttestrazioni[r] ; //mette su schermo

r++;

}
//il ciclo continua o finche non e' finito il file( .eof() ) e finche l'array non e' pieno
leggerefile2.close(); //ricordarsi di chiudere il file
//-------------------------


In pratica mi mostra a video solo una parte dell'intero file txt voluto e non riesco ad aumentare il limite di caratteri visualizzati in quanto se supero i 150000 mi da errore di sistema...

1)Come potrei ovviare al problema del limite e dirgli semplicemente di mostrarmi tutto il file caricato?

2)Essendo il file costituito da dati numerici separati da spazi come faccio a mantenere questi spazi o sostituirli con una lineetta invece di vederli tutti attaccati come avviene adesso?

Grazie


:ciauz:

c_junior
27-07-2009, 01:49
2)Essendo il file costituito da dati numerici separati da spazi come faccio a mantenere questi spazi o sostituirli con una lineetta invece di vederli tutti attaccati come avviene adesso?
potresti fare cosi:

cout<<tutteestrazioni[r]<<"-";


1)Come potrei ovviare al problema del limite e dirgli semplicemente di mostrarmi tutto il file caricato?
non penso di aver capito quello che chiedi ma prova a sostituire la condizione del while con:

!leggerefile2.eof()

YuYevon
27-07-2009, 08:20
Originariamente inviato da freetom
2)Essendo il file costituito da dati numerici separati da spazi come faccio a mantenere questi spazi o sostituirli con una lineetta invece di vederli tutti attaccati come avviene adesso?


Leggi il file byte per byte e lo stampi a schermo, in questo modo verranno riportati tutti i caratteri del file compresi spazi, tabulazioni, newlines ecc...

Loading