Home / Programmazione / C - C++ / La funzione printf del C++
Mattepuffo

La funzione printf del C++

La funzione printf del C++

Per chi si affaccia alla programmazione, o per chi viene da linguaggi più semplici, a volte il funzionamento della funzione printf() del C++ rimane un pò oscura all'inizio.

Preciso comunque che printf() è presenta anche in altri linguaggi com il C o il PHP.

Ma non conosco il C e in PHP la uso poco, quindi non so se ci sono differenze.

Per quanto il C++ questo è un banale esempio:

int a = 10;

printf("Il numero è: %d", a);

Cos'è quel %d?

Banalmente si può dire che è un segna posto.

In pratica printf è in grado stampare qualsiasi contenuto, che sia numerico, carattere, ecc.

Per farlo usiamo i segnaposti, stando attenti a quale tipo di dato vogliamo stampare.

Questa è una tabella riassuntiva:

SpecificatoreTipo
c Character
d or i Signed decimal integer
e Scientific notation (mantise/exponent) using e character
E Scientific notation (mantise/exponent) using E character
f Decimal floating point
g Use the shorter of %e or %f
G Use the shorter of %E or %f
o Unsigned octal
s String of characters
u Unsigned decimal integer
x Unsigned hexadecimal integer
X Unsigned hexadecimal integer (capital letters)
p Pointer address
n Nothing printed. The argument must be a pointer to a signed int, where the number of characters written so far is stored.
% A % followed by another % character will write % to stdout.

Come vedete ce ne è per tutti i gusti.

Comunque, essendo una guida per chi come me ha avuto difficoltà inizialmente venendo da Java e da un micro corso di programmazione, quello che ci tengo a sottolineare è come devono essere usati questi specificatori.

Come vedete dall'esempio il segnaposto %d è messo proprio dentro alla stringa; sarà il C++ a riconoscerlo e a sostituirlo con il valore che gli date come secondo parametro.

Inoltre potete usarne anche di più di specificatori.

Se guardate alla pagina ufficiale di documentazione, vederte altri esempi che ne usano diversi!