[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home] [volume] [parte]


Capitolo 632.   C: «stdio.h» per la composizione dell'output

%[simbolo][n_ampiezza][.n_precisione][hh|h|l|ll|j|z|t|L]tipo
Simbolo Tipo di argomento Conversione applicata
%...d
%...i
int
Numero intero con segno da rappresentare in base dieci.
%...u
unsigned int
Numero intero senza segno da rappresentare in base dieci.
%...o
unsigned int
Numero intero senza segno da rappresentare in ottale (senza lo zero iniziale che viene usato spesso per caratterizzare un tale tipo di rappresentazione).
%...x
%...X
unsigned int
Numero intero senza segno da rappresentare in esadecimale (senza il prefisso 0x o 0X che viene usato spesso per caratterizzare un tale tipo di rappresentazione).
%...c
int
Un carattere singolo, dopo la conversione in unsigned char.
%...s
char *
Una stringa.
%...f
double
Un numero a virgola mobile, da rappresentare in notazione decimale fissa:
[-]iii.dddddd
%...e
%...E
double
Un numero a virgola mobile, da rappresentare in notazione esponenziale:
[-]i.ddddddxx
[-]i.ddddddxx
%...g
%...G
double
Un numero a virgola mobile, rappresentato in notazione decimale fissa o in notazione esponenziale, a seconda di quale si presti meglio in base ai vincoli posti da altri componenti dello specificatore di conversione.
%p
void *
Un puntatore generico rappresentato in qualche modo in forma grafica.
%n
int *
Questo specificatore non esegue alcuna conversione e si limita a memorizzare un valore intero (di tipo int) nella variabile a cui punta l'argomento. Per la precisione, viene memorizzata la quantità di caratteri generati fino a quel punto dalla conversione.
%%
Questo specificatore si limita a produrre un carattere di percentuale (%) che altrimenti non sarebbe rappresentabile.
Simbolo Corrispondenza
%+...
%#+...
%+0ampiezza...
%#+0ampiezza...
Il segno «+» fa sì che i numeri con segno lo mostrino anche se è positivo. Può combinarsi con lo zero e il cancelletto.
%0ampiezza...
%+0ampiezza...
%#0ampiezza...
%#+0ampiezza...
Lo zero fa sì che siano inseriti degli zeri a sinistra per allineare a destra il valore, nell'ambito dell'ampiezza specificata. Può combinarsi con il segno «+» e il cancelletto.
%ampiezza...
ampiezza...

In mancanza di uno zero iniziale, in presenza dell'indicazione dell'ampiezza, il valore viene allineato a destra usando degli spazi. È possibile esprimere esplicitamente l'intenzione di usare gli spazi mettendo proprio uno spazio, ma in generale non è richiesto. Se si mette lo spazio letteralmente, questo non è poi compatibile con lo zero, mentre le combinazioni con gli altri simboli sono ammissibili.
%-ampiezza...
%-+ampiezza...
%#-ampiezza...
%#-+ampiezza...
Il segno meno, usato quando la conversione prevede l'uso di una quantità fissa di caratteri con un valore che appare di norma allineato a destra, fa sì che il risultato sia allineato a sinistra. Il segno meno si può combinare il segno «+» e il cancelletto.
%#...

Il cancelletto richiede una modalità di rappresentazione alternativa, ammesso che questa sia prevista per il tipo di conversione specificato. È compatibili con gli altri simboli, ammesso che il suo utilizzo serva effettivamente per ottenere una rappresentazione alternativa.
Simbolo Tipo Simbolo Tipo
%...hhd
%...hhi
signed char
%...hhu
%...hho
%...hhx|%...hhX
unsigned char
%...hd
%...hi
short int
%...hu
%...ho
%...hx|%...hX
unsigned short int
%...ld
%...li
long int
%...lu
%...lo
%...lx|%...lX
unsigned long int
%...lc
wint_t
%...ls
wchar_t *
%...lld
%...lli
long long int
%...llu
%...llo
%...llx|%...llX
unsigned long long int
%...jd
%...ji
intmax_t
%...ju
%...jo
%...jx|%...jX
uintmax_t
%...zd
%...zi
size_t
%...zu
%...zo
%...zx|%...zX
size_t
%...td
%...ti
ptrdiff_t
%...tu
%...to
%...tx|%...tX
ptrdiff_t
%...Le|%...LE
%...Lf|%...LF
%...Lg|%...LG
long double
Funzione Descrizione
int sprintf (char *restrict s,
             const char *restrict format,
             ...);
Produce il risultato della composizione memorizzandolo a partire dal puntatore costituito dal primo parametro (s) e aggiungendo il carattere nullo di terminazione.
int snprintf (char *restrict s,
              size_t n,
              const char *restrict format,
              ...);
Produce al massimo n-1 caratteri, aggiungendo sempre il carattere nullo di terminazione.
int fprintf (FILE *restrict stream,
             const char *restrict format,
             ...);
Scrive il risultato della composizione attraverso il flusso di file stream.
int printf (const char *restrict format,
            ...);
Scrive il risultato della composizione attraverso lo standard output.
int vsprintf (char *restrict s,
              const char *restrict format,
              va_list arg);
Come la funzione sprintf(), ricevendo gli argomenti variabili attraverso un puntatore al loro inizio.
int vsnprintf (char *restrict s,
               size_t n,
               const char *restrict format,
               va_list arg);
Come la funzione snprintf(), ricevendo gli argomenti variabili attraverso un puntatore al loro inizio.
int vfprintf (FILE *restrict stream,
              const char *restrict format,
              va_list arg);
Come la funzione fprintf(), ricevendo gli argomenti variabili attraverso un puntatore al loro inizio.
int vprintf (const char *restrict format,
             va_list arg);
Come la funzione printf(), ricevendo gli argomenti variabili attraverso un puntatore al loro inizio.

Appunti di informatica libera 2008 --- Copyright © 2000-2008 Daniele Giacomini -- <appunti2 (ad) gmail·com>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome c_171_stdio_h_187_per_la_composizione_dell_x0027_output.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home]

Valid ISO-HTML!

CSS validator!

Gjlg Metamotore e Web Directory