PDA

View Full Version : Formattazione del output in C


Oppid
29-05-2005, 11:35
Salve a tutti, c'è qualcuno che mi può spiegare per bene cosa significano queste istruzioni:

printf("%4d%17d.......
printf("%6s%17s.........


Grazie anticipatamente per l'aiuto!

Ziosilvio
29-05-2005, 13:10
I parametri della stringa di formato delle funzioni della famiglia di printf/scanf sono spiegati in dettaglio nell'Appendice B del Kernighan&Ritchie, oppure nelle man page.
Nel tuo caso, "%4d" vuol dire che la variabile deve essere di un tipo intero e deve essere visualizzato come intero di 4 cifre in rappresentazione decimale, mentre "%6s" che la variabile deve essere una stringa (sai manipolare le stringhe in C?) di cui vanno stampati al più i primi 6 caratteri.

RaouL_BennetH
29-05-2005, 13:17
mentre "%6s" che la variabile deve essere una stringa (sai manipolare le stringhe in C?) di cui vanno stampati al più i primi 6 caratteri.

Un dubbio: ma per stampare un determinato numero di caratteri, non ci dev'essere il punto?

es.:



printf("%.6s");

Oppid
29-05-2005, 13:43
eh....appunto.....non ci sono i punti!!!

Ziosilvio
29-05-2005, 17:18
ma per stampare un determinato numero di caratteri, non ci dev'essere il punto?
Il punto serve per dire quanti decimali dopo la virgola visualizzare quando si stampa un valore in virgola mobile.
Per dire quanti caratteri di una stringa stampare, non serve.