I printf
e scanf
famiglie di funzioni in C consumano una manciata di identificatori di formato primitive che corrispondono ai tipi di dati fondamentali – %d
per int
, %llu
per unsigned long long int
, eccPosix fornisce macro di stringhe di formato per printf/scanf?
Tuttavia, ci sono un gran numero di tipo standardizzato alias che si vorrebbe utilizzare nella pratica, come ad esempio int32fast_t
e uno non può e non deve conoscere il tipo fondamentale sottostante. Per gli alias in stdint.h
, lo standard C specifica per fortuna un set di macro per generare le stringhe di formato corrispondenti, come , in inttypes.h
.
Esiste un analogo set di macro per Posix? Posix ha tonnellate di tipi opachi come ssize_t
, pid_t
, rlim_t
, suseconds_t
, ecc., Che sono tutte variazioni sui tipi di base di base. Come si può usare questi tipi in modo passivo nelle stringhe di formato?
se tutto il resto fallisce, è sempre possibile convertire in '(u) intmax_t' e stampare quello – Christoph
Soluzioni alternative interessanti - Non ho mai pensato: -S –
(Anche se andando all'indietro, cioè' scanf', dovrei fare un controllo di overflow manuale e capire cosa confrontare esattamente) –