16) Operazioni input output

Full Version   Print   Search   Utenti   Join     Share : FacebookTwitter
JehovaZorobabele
00Tuesday, November 29, 2016 11:15 AM
queste funzioni- istruzioni non funziona piĆ¹ nei nuovi compilatori
16) Operazioni input e output


Nel mio testo si parla ancora di stream per aprire i file e tanto altro, nel nostro compilatore alcuni comandi non sono più gestiti e danno errore di compilazione , ecco un elenco di istruzioni che non vengono più impiegate dal nostro compilatore, https://msdn.microsoft.com/library/windows/apps/jj606124.aspx
dove non possiamo utilizzare altri comandi alternativi, cosi alcuni capitoli del libro non saranno presi in considerazione come esempi , nello stesso modo vedremo tutti i comandi o funzioni in uso.



Per eseguire l’ operazioni di Input e Output si utilizza il file Header < fstream > e queste classi derivano dalla classe padre IOS come visto i stream sono 3 input, output, input/output dove ogni stream va dichiarato con la sua classe , dove input ifstream, output ostream , fstream serve per le operazioni di input/output queste classi serve per l’ apertura e la chiusura dei file , se desideriamo lavorare in un file con operazioni su descritte possiamo fare :


ifstream in; // input        ofstream out; // output          fstream io; // input/output


Ora vediamo open() che è una funzione dei sopracitati stream dove il suo prototipo è :


void ifstream::open(const char* nomefile, ios::openmode modo ios::in);


void ofstream::open(const char* nomefile, ios::openmode modo ios::out | ios::trunc);


void fstream::open(const char* nomefile, ios::openmode modo ios::in | ios::out);


Il nomefile è il nome che useremo per il file che utilizzeremo, è possibile includere anche il percorso di tale file , il modo è come verrà aperto il file e le modalità sono valori definiti da openmode attraverso la classe ios_base i modi sono:


ios::app     ios::ate      ios::binary      ios::in      ios::out      ios::trunc


Per usare o combinare più di queste classi si utilizza l’ operatore OR | , vediamo cosa serve ogni modalità che abbiamo citato : ios::app = append usato solo da output , l’ output viene aggiunto alla fine del file. ios::ate usato per operazioni di input e output posiziona il puntatore alla fine del file aperto . ios::binary apre file in modalità binaria se il file viene aperto in modalità testo può avvenire traduzioni dei caratteri come il ritorno fine linea o fine riga , in modalità binaria non viene eseguite nessuna traduzione , i file sia binari che di testo possono essere aperti sia in un modo che nell’ altro l’ unica differenza è la traduzione dei caratteri. ios::in usato per operazioni d’ input dati per operazioni d’input . ios::out usato per operazioni d’ output , dati per operazioni d’output . ios::trunc , con questo comando si tronca a zero i file preesistenti con la conseguenza della distruzione del contenuto del file precedente


Per aprire i file con i stream la prima cosa da è controllare che il file stesso sia aperto con successo per far questo si usa una funzione booleanea is_open() utilizzando , se il file è aperto ci restituisce true altrimenti false :


if (!nomefile.is_open()) << " file non aperto \n ";


per chiudere lo stesso file prima aperto si usa la funzione close() : nomefile.close;


Per leggere e scrivere dati non formattati è possibile usare le funzioni che legge e scrive un carattere get() legge e put() scrive e questi file devono essere aperti in modalità binaria altro modo per leggere i dati binari sono le funzioni read () legge e write() scrive queste funzioni legge e scrive dei buffer di caratteri


La funzione getline () anzi che leggere un buffer di caratteri legge solo una linea di caratteri che è il buffer ma la differenza tra la funzione get e getline , legge e elimina il delimitatore dello stream d’ input


Nella lettura di un file si deve vedere la fine dello stesso file per questo si utilizza la funzione eof() il prototipo è

bool eof();

questa funzione restituisce un valore booleano true quando raggiunge la fine del file , caso contrario rimane con false . Un’altra funzione membro è ignore() serve di leggere e ignorare num di caratteri presenti nello stream d’ input (il valore normale rimane 1) con delim è il carattere che permette di usare EOF :



istream &ignore( streamsize num=1 , int_type delim= EOF);


La funzione peek() permette di conoscere il prossimo carattere presente nello stream , la funzione putback() inserisce di nuovo l’ ultimo carattere che aveva letto . La funzione flush() questa funzione serve in output per far scrivere o scaricare il buffer , di norma il buffer si scarica quando la sua dimensione è piena con la possibilità di perdere i dati in caso di precarietà del sistema usando ostream &flush(); possiamo scaricare prima il buffer e mettere in salvo i nostri dati lo svotamento del buffer può essere fatto con la chiusura del file e questo sarebbe il lavoro naturale come con la chiusura normale dello stesso programma


Altre funzioni che lavorano con i stream sono istream seekg() ; e ostream seekp (); queste funzioni permette di accedere a un file in modo non sequenziale …. Ci sono altre funzioni da vedere , come già detto nel nostro nuovo compilatore non funzionano


Ciao grazie da ByMpt-Zorobabele Testo PDF aggiornato con questo ultimo capitolo inserito lo
trovate :
http://www.freeforumzone.com/d/11266858/Elenco-figure-dei-comandi-della-programmazione-C-TESTO-PDF/discussione.aspx



Anche qui di queste discussioni che inserisco faccio un testo PDF da poter scaricare tutto il mio materiale è da utilizzare come desiderate per il testo PDF vedi cartella dedicata , ogni volta cambia ubicazione del testo allora cambio il file e il testo lo inserisco dentro la cartella < file aggiornato ad oggi >

www.freeforumzone.com/d/11266858/Elenco-figure-dei-comandi-della-programmazione-C-TESTO-PDF/discussi...




Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa click here
Tutti gli orari sono GMT+01:00. Adesso sono le 10:19 AM.
Copyright © 2000-2021 FFZ srl - www.freeforumzone.com