caratteri il campo tipo di printf

In una specifica di formato, il carattere di type è un identificatore di conversione che specifica se l'argomento corrispondente deve essere interpretato come un carattere, una stringa, un puntatore, Integer, o numero a virgola mobile.Il carattere di type è l'unico campo obbligatorio di specifica di formato e viene visualizzato dopo tutti i campi facoltativi.

Gli argomenti che seguono la stringa di formato vengono interpretati come il carattere corrispondente di type e il prefisso facoltativo di dimensione.Le conversioni dei tipi di carattere char e wchar_t vengono specificate tramite c o Ce a byte singolo e più byte o stringhe di caratteri estesi vengono specificati utilizzando s o S, a seconda della funzione di formattazione viene utilizzata.Carattere e argomenti di tipo stringa che vengono specificati utilizzando c e s viene interpretato come char e char* da funzioni della famiglia di printf, o come wchar_t e wchar_t* da funzioni della famiglia di wprintf.Carattere e argomenti di tipo stringa che vengono specificati utilizzando C e S viene interpretato come wchar_t e wchar_t* da funzioni della famiglia di printf, o come char e char* da funzioni della famiglia di wprintf.

Tipi integer come short, int, long, long longe relative varianti di unsigned, vengono specificati utilizzando d, i, o, u, xe X.I tipi a virgola mobile come float, doublee long double, vengono specificati utilizzando a, A, e, E, f, ge G.Per impostazione predefinita, a meno che non vengano modificati da un prefisso di lunghezza di campo di size, gli argomenti Integer vengono assegnati al tipo di int e gli argomenti a virgola mobile sono assegnati a double.Nei sistemi a 64 bit, int è un valore a 32 bit, pertanto, Integer a 64 bit verranno troncati quando vengono formattati per l'output a meno che un prefisso di size di ll o di I64 sia utilizzato.Tipi puntatore specificati tramite l'utilizzo di p la lunghezza predefinita per la piattaforma.

[!NOTA]

C, Se caratteri tipi di Z e il comportamento dei caratteri tipi di s e di c quando vengono utilizzati con le funzioni di wprintf e di printf, sono estensioni Microsoft e non sono compatibili ANSI.Visual C++ non supporta il carattere tipo di F.

caratteri il campo tipo di printf

Carattere tipo

Argomento

Formato di output

c

Carattere

Se utilizzato con printf esecuzione, specificare un carattere a byte singolo, se utilizzato con wprintf esecuzione, specificare un carattere di tipo " wide ".

C

Carattere

Se utilizzato con printf esecuzione, specificare un carattere di tipo " wide "; se utilizzato con wprintf esecuzione, specificare un carattere a byte singolo.

d

Integer

Integer decimale con segno.

i

Integer

Integer decimale con segno.

o

Integer

Integer ottale senza segno.

u

Integer

Integer decimale senza segno.

x

Integer

Integer esadecimale senza segno; utilizzare "abcdef".

X

Integer

Integer esadecimale senza segno; utilizzare "ABCDEF".

e

A virgola mobile

Il valore con segno che presenta il formato [ – ]d.dddd lafirmae []dd[d] in cui d è una cifra decimale, dddd è una o più cifre decimali, è dd[d] due o tre cifre decimali come formato di output e la dimensione dell'esponente e il segno viene + o -.

E

A virgola mobile

Identico a quello con la differenza che a E di e anziché e introduce l'esponente.

f

A virgola mobile

Valore con segno che presenta il formato [ – ]dddd.dddd, dove dddd è una o più cifre decimali.Il numero di cifre prima del separatore decimale dipende dalla grandezza del numero, mentre il numero di cifre dopo il separatore decimale dipende dalla precisione richiesta.

g

A virgola mobile

I valori signed visualizzato in f o in formato di e, ogni è più compatto per il valore e la precisione specificati.Il formato di e viene utilizzato solo per l'esponente il valore è minore di 4 o maggiore o uguale all'argomento di precision.Gli zeri finali vengono troncati e il separatore decimale viene visualizzato solo se uno o più cifre il carattere.

G

A virgola mobile

Identico a quello di g, ma a E, anziché e, introduce l'esponente (se appropriato).

a

A virgola mobile

Il valore esadecimale con segno a virgola mobile a precisione doppia nel formato [] −0xh.hhhhdd, dove h.hhhh sono le cifre esadecimali (utilizzando lettere minuscole) della mantissa e dd sono uno o più cifre per l'esponente.La precisione indica il numero di cifre dopo il punto.

A

A virgola mobile

Il valore esadecimale con segno a virgola mobile a precisione doppia nel formato [] −0Xh.hhhhdd, dove h.hhhh sono le cifre esadecimali (utilizzando lettere maiuscole) della mantissa e dd sono uno o più cifre per l'esponente.La precisione indica il numero di cifre dopo il punto.

n

Puntatore all'intero

Numero di caratteri che venga scritto fino al flusso o nel buffer.Questo valore viene archiviato nell'intero di cui l'indirizzo viene fornito come argomento.Vedere più avanti la nota sulla sicurezza in questo articolo.

p

Tipo di puntatore

Visualizzare l'argomento come indirizzo nelle cifre esadecimali.

s

String

Se utilizzato con le funzioni di printf, specifica una stringa di caratteri a più byte o a byte singolo, se utilizzato con wprintf viene eseguita, specifica una stringa di caratteri estesi.I caratteri visualizzati fino al primo carattere null o fino a precision il valore viene raggiunto.

S

String

Se utilizzato con printf viene eseguita, specifica una stringa di caratteri estesi, se utilizzato con le funzioni di wprintf, specifica una stringa di caratteri a più byte o a un byte.I caratteri visualizzati fino al primo carattere null o fino a precision il valore viene raggiunto.

Z

ANSI_STRING o struttura di UNICODE_STRING

Quando l'indirizzo o ANSI_STRINGUNICODE_STRING struttura viene passato come argomento, visualizzare la stringa contenuta nel buffer da cui fa riferimento il campo di Buffer della struttura.Utilizzare un prefisso di modificatori di lunghezza di w per specificare UNICODE_STRING argomento-, ad esempio %wZ.Il campo di Length della struttura deve essere impostato sulla lunghezza, in byte, della stringa.Il campo di MaximumLength della struttura deve essere impostato sulla lunghezza, in byte, del buffer.

In genere, il carattere tipo di Z viene utilizzato solo nelle funzioni di debug del driver che utilizzano una specifica di formato, come dbgPrint e kdPrint.

Se l'argomento corrispondente a un identificatore a virgola mobile di conversione è infinito, non definito, o NAN, la seguente tabella sono elencate l'output formattato.

Valore

Output

+ infinito

1.#INFcasuale-cifre

– infinity

– 1.#INFcasuale-cifre

Non definito (stessi Nan calma)

digit.#INDrandom-digits

NAN

digit.#NANrandom-digits

[!NOTA]

Se il campo di Buffer dell'argomento corrispondente a %Z, o dell'argomento corrispondente a %s o a %S, è un puntatore null, "(null)" viene visualizzato.

[!NOTA]

In tutti i formati esponenziali, il numero predefinito di cifre l'esponente da visualizzare da tre.Utilizzando la funzione di _set_output_format, è possibile impostare il numero di cifre visualizzato a due ma in espandere a tre se richiesta dalla dimensione dell'esponente.

Nota sulla sicurezzaNota sulla sicurezza

Poiché il formato di %n è considerato non protetto, viene disabilitato per impostazione predefinita.Se %n viene visualizzato in una stringa di formato, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Per abilitare il supporto di %n, vedere _set_printf_count_output.

Vedere anche

Riferimenti

printf, _printf_l, wprintf, _wprintf_l

Sintassi per la specifica del formato: funzioni printf wprintf

Direttive del flag

specifica la larghezza di printf

Specifica di precisione

Specifica di dimensione

_set_output_format