18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

E’ possibile inserire in una libreria molti file oggetto. Non tutti devono essere necessariamente<br />

linkati nel programma eseguibile, ma soltanto quelli che contengono le funzioni necessarie sono<br />

linkati. E’ da tenere presente <strong>per</strong>ò che se in un singolo file oggetto è contenuto il codice di più<br />

funzioni, e soltanto un sottoinsieme di queste funzioni sono utilizzate dal programma principale,<br />

tutto il file oggetto prelevato d<strong>alla</strong> libreria viene linkato nel file eseguibile, andando ad aumentare<br />

le dimensioni del file.<br />

14.2 La libreria di input/output stdio.h<br />

La libreria di input/output contiene definizioni di macro, costanti, dichiarazioni di funzioni e di<br />

tipi utilizzati <strong>per</strong> le comuni o<strong>per</strong>azioni di input/output.<br />

Per utilizzare le funzioni della libreria di input/output è necessario includere il file di intestazione<br />

stdio.h, con l’istruzione:<br />

#include <br />

La libreria dichiara tutte le funzioni <strong>per</strong> l’accesso a file, come fopen, fclose, fread e fwrite.<br />

Data l’importanza dell’accesso a file <strong>per</strong> i programmi in C, a queste funzioni è stato infatti<br />

dedicato l’intero Capitolo 12, e non vengono quindi descritte in questa sezione.<br />

14.2.1 Printf<br />

La funzione di output più comune è<br />

int printf(char *, ...);<br />

La notazione “...” indica che il numero dei parametri è variabile.<br />

La funzione printf <strong>per</strong>mette di eseguire un output di dati di vari tipi, formattato secondo<br />

specifiche definibili in una opportuna stringa di formato.<br />

La stringa di formato può essere composta da caratteri ordinari, che vengono copiati sull’output,<br />

oppure da specifiche di campo con la seguente forma:<br />

%[-][][.][l]{d|o|x|u|c|s|e|f|g}<br />

dove<br />

• - indica allineamento a sinistra dei dati<br />

• è l’ampiezza minima del campo<br />

• . indica la precisione (numero massimo di caratteri di una stringa oppure numero<br />

di cifre decimali)<br />

• “l”indica un numero long<br />

• segue un carattere di conversione<br />

Il valore di ritorno di printf è il numero di caratteri scritti oppure un numero negativo in caso<br />

di errore.<br />

Esempio<br />

139

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!