Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• nelem numero di dati da trattare<br />
• f è il puntatore a FILE che identifica il file in cui scrivere (leggere)<br />
Il programma seguente effettua la copia un file binario di interi.<br />
/*<br />
* copia un file binario di interi<br />
*<br />
* i file binari non sono leggibili correttamente<br />
* con editor classici e comandi come cat, more ...<br />
*/<br />
#include <br />
int main(int argc, char ** argv)<br />
{<br />
int buf[1024];<br />
int n;<br />
FILE *fin, *fout;<br />
}<br />
if (!(fin = fopen(argv[1], "r"))) {<br />
<strong>per</strong>ror(argv[1]);<br />
exit(1);<br />
}<br />
if (!(fout = fopen(argv[2], "w"))) {<br />
<strong>per</strong>ror(argv[2]);<br />
exit(2);<br />
}<br />
do {<br />
n = fread(buf, sizeof(int), 1024, fin);<br />
fwrite(buf, sizeof(int), n, fout);<br />
} while (n);<br />
fclose(fin);<br />
fclose(fout);<br />
return 0;<br />
Il programma dichiara due variabili di tipo puntatore a FILE, fin e fout, che individueranno il<br />
file da copiare ed il file destinazione.<br />
Le due variabili sono inizializzate chiamando la funzione di libreria fopen con le due linee di<br />
codice<br />
if (!(fin = fopen(argv[1], "r")))<br />
if (!(fout = fopen(argv[2], "w")))<br />
che aprono rispettivamente un file in lettura e uno in scrittura. I nomi dei file vengono otenuti<br />
d<strong>alla</strong> linea di comando, e sono rispettivamente il secondo e il terzo parametro 1 . Le istruzioni<br />
1 Il primo parametro della linea di comando è sempre il nome del programma lanciato.<br />
118