English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
I simboli di formattazione sono stringhe utilizzate nelle funzioni di input e output formattati. La stringa di formato determina il formato dell'input e dell'output. La stringa di formato inizia sempre con il carattere "%%".
Spiegazione della conversione | Output |
%a | Numero floating-point, numero esadecimale e notazione p (C99) |
%A | Numero floating-point, numero esadecimale e notazione P (C99) |
%c | Un carattere |
%d | Numero intero decimale con segno |
%e | Numero floating-point, notazione e |
%E | Numero floating-point, notazione E |
%f | Numero floating-point, notazione decimale |
%g | Scegli automaticamente %f o %e in base al valore numerico. Il formato %e viene utilizzato quando l'esponente è minore di -4 o maggiore o uguale alla precisione |
%G | Scegli automaticamente %f o %E in base al valore numerico. Il formato %E viene utilizzato quando l'esponente è minore di -4 o maggiore o uguale alla precisione |
%i | Numero intero decimale con segno (uguale a %d) |
%o | Numero intero ottale unsigned |
%p | Puntatore (cioè l'indirizzo) |
%s | Stringa |
㩵n | Numero intero unsigned decimale |
%x | Utilizzo del numero intero esadecimale 0f |
%X | %X |
usare un intero esadecimale senza segno con il numero 0F | %% |
Modificatore | Significato |
due, modificatori di printf() | segni |
digit(s) | cinque segni (-, +, spazio, # e 0) saranno descritti nella tabella tre, possono essere usati zero o più segni |
Precisione. Per le conversioni %e, %E e %f, è il numero di cifre da stampare dopo il punto decimale. Per le conversioni %g e %G, è il numero massimo di cifre significative. Per la conversione %s, è il numero massimo di caratteri da stampare. Per le conversioni intere, è il numero minimo di cifre da stampare; se necessario, devono essere utilizzati zeri iniziali per raggiungere questo numero di cifre. Utilizza solo “digit(s) | valore minimo della larghezza del campo. Se il campo non può contenere il numero o la stringa da stampare, il sistema utilizzerà un campo più largo. Esempio: “%4d”Precisione. Per le conversioni %e, %E e %f, è il numero di cifre da stampare dopo il punto decimale. Per le conversioni %g e %G, è il numero massimo di cifre significative. Per la conversione %s, è il numero massimo di caratteri da stampare. Per le conversioni intere, è il numero minimo di cifre da stampare; se necessario, devono essere utilizzati zeri iniziali per raggiungere questo numero di cifre. Utilizza solo “. |
“indica che segue un zero, quindi %.f e %.0f sono uguali. Esempio: “%5.2f” stampa un numero a virgola mobile con una larghezza di campo di 5 caratteri e due cifre dopo il punto. | usato insieme ai segni di conversione interi, per rappresentare unh oppure short int unsigned char unsigned short int |
hh | usato insieme ai segni di conversione interi, per rappresentare unEsempio: “%hu”、“%hx” e “%6.4hd” oppuresigned charunsigned char valore di tipo numerico. |
Esempio: “%hhu”、“%hhx” e “%6.4hhd” | j usato insieme ai segni di conversione interi, per rappresentare un intmax_t o uintmax_t. |
l | usato insieme ai segni di conversione interi, per rappresentare unlong int oppureunsigned long int valore di tipo. Esempio: “%ld” e “%8lu” |
ll | usato insieme ai segni di conversione interi, per rappresentare unlong long into unsigned long long int valore di tipo (C99). Esempio: “%lld” e “%8llu” |
L | usato insieme ai segni di conversione a virgola mobile, per rappresentare unlong doublevalore. Esempio: “%Lf” e “%10.4Le” |
t | usato insieme ai segni di conversione interi, per rappresentare un ptrdiff_t (il tipo corrispondente alla differenza tra due puntatori) (C99) Esempio: “%td” e “%12ti” |
z | usato insieme ai segni di conversione interi, per rappresentare unsize_tvalore(sizeof restituisce il tipo) (C99). Esempio: “%zd” e “%12zx” |
Modificatore | Significato |
- | L'elemento è allineato a sinistra, ossia, verrà stampato all'inizio del campo. Esempio: “%-20s” |
+ | I valori con segno, se positivi, vengono visualizzati con un segno più; se negativi, con un segno meno. Esempio: “%+6.2f” |
(spazio) | Se il valore è positivo, mostra uno spazio iniziale (ma non il segno); se è negativo, mostra il segno meno. Il segno + copre il segno di spazio. |
# | Usa la forma opzionale del simbolo di conversione. Se è il formato %o, inizia con 0; se sono i formati %x e %X, inizia con 0x o 0X, per tutti i formati a virgola mobile, # garantisce che venga stampato un carattere punto decimale anche se non vengono specificati numeri, per i formati %g e %G, impedisce la rimozione dei zeri finali. Esempio: “%#o”、“%#8.0f” e “%+#10.3E” |
0 | Per tutti i formati numerici, usa lo zero iniziale invece di uno spazio per riempire la larghezza del campo. Ignora il simbolo di segno se viene utilizzato un simbolo di segno o specificata la precisione (per i numeri interi). Esempio: “%010d” e “%08.3f” |
Simbolo di conversione | Significato |
%c | Interpreta l'input come un carattere |
%d | Interpreta l'input come un numero decimale singolo |
%e, %f, %g, %a | Interpreta l'input come un numero decimale a virgola mobile (%a è lo standard C99) |
%E, %F, %G, %A | Interpreta l'input come un numero decimale a virgola mobile (%A è lo standard C99) |
%i | Interpreta l'input come un numero decimale singolo |
%o | Interpreta l'input comeSingoloNumero ottale |
%p | Interpreta l'input come un puntatore (indirizzo) |
%s | |
㩵n | Interpreta l'input come un numero decimale senza segno |
%x, %X | Interpreta l'input comeSingoloIntero esadecimale |
Modificatore | Significato |
* | Assegnazione posteriore. Esempio: “%*d” |
digit(s) | Larghezza massima del campo; smetti di leggere l'input quando si raggiunge la larghezza massima del campo o si incontra il primo carattere bianco (che viene prima, non importa). Esempio: “%10s” |
hh | Leggi l'intero come signed char o unsigned char. Esempio: “%hhd”“%hhu” |
ll | Leggi l'intero come long long o unsigned long long (C99). Esempio: “%lld”“%llu” |
h, l o L | “%hd” e “%hi” indicano che il valore verrà memorizzato in un short int. “%ho”“%hx” e “%hu” indicano che il valore verrà memorizzato in un unsigned short int. “%ld” e “%li” indicano che il valore verrà memorizzato in un long. “%lo”“%lx” e “%lu” indicano che il valore verrà memorizzato in un unsigned long. “%le”“%lf” e “%lg” indicano che il valore è memorizzato come tipo double. Utilizzare L (piuttosto che l) con e, f e g per indicare che il valore è memorizzato come tipo long double. Se non ci sono questi modificatori, d, i, o e x indicano il tipo int, mentre e, f e g indicano il tipo float. |