Introduzione Input e Output su file
Scrivere su file è forse la parte più importante di questo corso, perché si pongono le basi per salvare i propri lavori e quindi iniziare a strutturare programmi di una certa complessità. Abbiamo già accennato alle operazioni di input/output limitandoci a quelle che coinvolgevano la tastiera come dispositivo di input e lo schermo come dispositivo di output. Per poter operare correttamente è necessario includere l’header file <stdio.h> che contiene tutte funzioni per l’input/output, comprese quelle che operano sui file.
In C le operazioni di I/O vengono semplificate attraverso l’uso degli stream, altro non sono che delle astrazioni rappresentative di un file o di un dispositivo fisico, che vengono manipolate attraverso l’uso di puntatori. L’enorme vantaggio di usare gli stream è quello di potersi riferire ad un identificatore senza preoccuparsi di come questo venga implementato; generalmente le operazioni che si compiono su uno stream sono tre, lo si apre, vi si accede (nel senso di operazioni di lettura e scrittura) e lo si chiude. L’altra importante caratteristica è che lo stream è bufferizzato, ovvero viene riservato un buffer per evitare ritardi o interruzioni nella fase di lettura e scrittura, infatti il contenuto del buffer non viene mandato al dispositivo (che si tratti di un dispositivo fisico o di un file non ha importanza) fino a quando non viene svuotato o chiuso.
Gli stream predefiniti nel linguaggio C (che vengono messi a disposizione includendo la <stdio.h>) sono:
stdin, stdout, stderr
Questi stream utilizzano principalmente il testo come metodo di comunicazione I/O, anche se i primi due possono essere usati con i file, con i programmi, con la tastiera, con la consolle e lo schermo, lo stderr può scrivere soltanto su console o sullo schermo. La console è il dispositivo di default per stdout e stderr, mentre per stdin il dispositivo di default è la tastiera.
Linux e l’I/O Linux (e Unix) permette una serie di operazioni che non fanno parte del linguaggio C, ma del sistema operativo stesso; queste operazioni permettono di gestire l’input o l’output di un programma e di redirigerlo dove meglio si crede.
- > redirige lo stdout, generalmente stampato a video, in un file; ammettiamo di avere un programma di nome “prog”, per redirigere il risultato in un file basta fare, da console: # prog > risultato.txt
- < redirige il contenuto del file allo stdin; ammettiamo di avere un file di nome “input.txt” e di volerlo passare come input al programma “prog”, basta digitare, da console: # prog < input.txt
- | (pipe) questo simbolo speciale permette di redirigere lo stdout di un programma allo stdin di un altro programma; supponiamo di avere “prog1” che deve mandare il proprio output a “prog2”, da console scriveremo: # prog1 | prog2due esempi pratici in linux sono:# prog | lpr // manda l’output di “prog” alla stampante# ls -l | more // visualizza le directory // una schermata per volta
Se vuoi aggiornamenti su Introduzione Input e Output su file inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Playlists at Spotify
Jimmy Mårdell mostra i numeri di Spotify e la modalità di gestione delle playlist, più di un milione, che devono […]