Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++]Individuare fine del file... problema con eof()

    Ciao a tutti! Sto imparando da pochissimo il C++ e ora mi è insorto un problema nel seguente blocco di codice:
    codice:
    while (in >> cnum >> ch) {
    	
    		cout << SEPARATOR << "Numeri primi a partire da " << cnum << SEPARATOR;
    
    		while(in >> cnum >> ch) {
    			if (ch == ';') {
    				cout << SEPARATOR << "Fine dei numeri primi fino al " << cnum
    					<< SEPARATOR;
    
    				if (!in.eof()) {
    					cout << "\n\nPremi 'c' per continuare a scorrere i numeri primi, "
    				    	<< "oppure 'x' per interrompere la lettura";
    
    					for( ; ; ) {
    						action = getch();
    						if (action == 'x') return false;
    						else if (action == 'c') break;
    					}
    				}
    
    				break;
    
    			} else {
    				cout << cnum << "\t";
    			}
    		}
    }
    In pratica questo codice parsa un file con un contenuto del tipo:

    codice:
    1,1,2,3,5,7,11,13,17,20;50,51,53,77,87,90;
    Ogni volta che incontra un ';' chiede all'utente se proseguire a mostrare il contenuto del file o se fermarsi lì.

    Però quando incontra l'ultimo punto e virgola chiede ancora se continuare o interrompere la lettura (anche se siamo in fondo al file) VVoVe: e se ne frega del if(!in.eof())

    Come mai? e cosa potrei fare?

    Grazie davvero

  2. #2

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 © 2025 vBulletin Solutions, Inc. All rights reserved.