Domanda per quanto riguarda la funzione di overflow del streambuf
Domanda
Andando traverso la documentazione funzione di troppopieno. Ho trovato overflow è seguito come valori di ritorno.
Valore di ritorno:
Un diverso valore rispetto a EOF (o tratti :: EOF () per altri tratti) il successo dei segnali.
Se la funzione fallisce, o EOF (o tratti :: EOF () per altri tratti) viene restituito o viene generata un'eccezione.
fonte: " http://www.cplusplus.com/reference/iostream / streambuf / trabocco / "
Qualcuno può dirmi in cui sceanrios è funzione di troppopieno andando attraverso un'eccezione? Qualsiasi aiuto sarà apprezzato
Soluzione 3
Nel mio scenario problematico è stato faling perché non stava saltando l'indirizzo successivo (chiamate SETP è stato incrementating da 0) in modo da riprovare ad usare la stessa regione di memoria e stava dando segmentation fault.
Altri suggerimenti
streambuf è astrazione per canale di stoccaggio o di comunicazione sottostante di flusso. La funzione di troppopieno () può fallire per qualsiasi ragione la conservazione o canale può fallire. Per esempio. Errore di disco per i file su disco, connessione interrotta per i socket, ecc.
Sebbene WILX dettagliato il (EOF
) condizione sicuro, la condizione di eccezione può essere uno di questi: http://www.aoc.nrao.edu/php/tjuerges/ALMA/STL/html-3.4.6/classstd_1_1exception.html (can indovinare quale :) -? ma dovrebbe (ovviamente) essere std::overflow_error
se si sta scrivendo il proprio flusso di output o qualcosa