Non credi che sarebbe piu comodo procurarsi un manuale ?
comunque gli stream grossolanamente parlando sono le porte di input/output.
più che porte fisiche sono una tecnica per sfruttare le porte fisiche.
esempio di stream potrebbe esserela tastiera.
l tecnica degli stream ,in questo caso, ti permette di accettare un determinato numero di caratteri, numeri che vengono messi in una variabile interna detta buffer.
una volta che i è rimpita questa variabile i dati sono pronti per essere utilizzati.
bada bene che per utilizzare i dati non devi per forza aspettare che il buffer si riempie.
ma qualunque nuova operazione di input (inquesto caso da tastiera) va ad accodarsi nel buffer di sistema.
per quanto riguarda invece i file il dicorso e leggermente diverso perchè mentre per la tastiera il buffer non viene svuotato, a meno che non si usano particolri istruzioni, nella gestione dei file i buffer viene svuotato dal sistema.
ma come funziona scrittura di un file ?
funziona in uesto modo (tralascio le operazioni per evitare errori)
immetto i dati in una variabile locale edeseguo l'istruzione di scrittura.
il sistema va prima a copiarsi i dati dalla variabile locale al buffer di sistema accodando i nuovi dati a quelli vecchi. se il buffer e pieno allora andrà a riversare su disco i dati e svuoterà il buffer di sistema altrimenti andrà a prendersi dei nuovi dati.
quando incontra un istruzione di chiusura file il sistema andrà prima a mettere un carattere speciale di fine file alias EOF nel buffer di sistema poi andrà a riversare i dati su disco poi svuoterà il buffer e alla fine setterà dei flag che serviranno per non accettare + istruzioni relative a quel file.
per concludere
la gestione del file deveseguire questa logica
assegnazione di uno stream ad un file e conseguente apertura del file.
ciclo di scrittura dei dati
chiusura del file
riassegnazione dello stram ad un altro file o ad un altra risorsa.(ma non preoccuparti questa operazione viene fatta in automatico dal sistema ogni volta che chiudi un file.)
per quanto riguarda la lettura il discorso e analogo alla scrittura solo che devi gestire il carattere di fine file alias EOF.
ricordati che un buffer non è niente altro che una variabile che può essere o di sistema odefinita da te
in sintesi questo e tutto circa gli stream comunque se vuoi approfondire l'argomento puoi collegarti a questo link
http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/38IOCPP.html
che naturalmente spiega in manira + approfondita l'argomento.
spero di esserti stato d' aiuto.