Sintassi per la specifica del formato: funzioni printf wprintf
Viene descritta la sintassi per gli argomenti della stringa di formato a printf, a wprintfe funzioni correlate.Più versioni sicure di queste funzioni sono disponibili, per ulteriori informazioni, vedere Funzionalità di sicurezza in CRT.Per informazioni sulle singole funzioni, vedere la documentazione per le funzioni specifiche.Per un elenco di tali funzioni, vedere Flusso I/O.
Una specifica di formato, costituito da facoltativo e i campi obbligatori, ha il formato seguente:
%[flag] [larghezza] [.precisione] [{h | l | ll | w | I | I32 | I64}] tipo
Ciascun campo della specifica di formato è un carattere o un numero che indica un particolare identificatore di conversione o di opzione di formattazione.Il carattere obbligatorio di type specifica il tipo di conversione applicare a un argomento.flagsfacoltativo, widthe gli aspetti aggiuntivi di formato del controllo di campi di precision.Una specifica di formato base contiene solo il segno di percentuale e type caratteri, ad esempio %s, che specifica una conversione delle stringhe.Se un segno di percentuale è seguito da un carattere non ha senso quando un campo di formato, il carattere viene copiato l'output invariato.Per stampare un carattere di segno di percentuale, utilizzare %%.
I campi della specifica di formato controllano i seguenti aspetti di conversione e di formattazione dell'argomento:
type
Carattere dell'identificatore di conversione che determina se argument collegato verrà interpretato come un carattere, una stringa, un intero, o numero a virgola mobile.Per ulteriori informazioni, vedere caratteri il campo tipo di printf.flags
Carattere facoltativo o caratteri che controllano la giustificazione di output e l'output dei segni, gli spazi vuoti, zeri iniziali, i separatori decimali e di prefissi esadecimali e ottali.Per ulteriori informazioni, vedere Direttive del flag.Più di un flag può essere visualizzate in una specifica di formato e i contrassegni possono trovarsi in qualsiasi ordine.width
Numero decimale facoltativa che specifica il numero minimo di caratteri restituiti.Per ulteriori informazioni, vedere specifica la larghezza di printf.precision
Numero decimale facoltativa che specifica il numero massimo di caratteri che vengono stampati per le stringhe, il numero di cifre significative o il numero di cifre dopo il separatore decimale per i valori a virgola mobile, o il numero minimo di cifre che vengono stampate per i valori Integer.Per ulteriori informazioni, vedere "come tipo di influenza di valori di precisione" in Specifica di precisione).h | l | ll | w | I | I32 | I64
Prefissi facoltativi in type che specificano le dimensioni dell'argomento corrispondente.Per ulteriori informazioni, vedere la dimensione prefisso per" in Specifica di dimensione).
Nota sulla sicurezza |
---|
Assicurarsi che le stringhe di specifica di formato non definite dall'utente.Ad esempio, si consideri un programma che richiede all'utente di un nome e memorizza input in una variabile di stringa denominata name.Per stampare name, non eseguire questa operazione: printf( name ); /* Danger! If name contains "%s", program will crash */ Invece, eseguire questa operazione: printf( "%s", name ); |
Vedere anche
Riferimenti
printf, _printf_l, wprintf, _wprintf_l
printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
parametri posizionali di printf_p