next up previous index
Következő: 15.8.8.10 Különleges fájlnevek Fel: 15.8.8 MINTÁK ÉS TEVÉKENYSÉGEK Előző: 15.8.8.8 Bemeneti/kimeneti utasítások   Index

15.8.8.9 A printf utasítás

A printf utasítás és sprintf() függvény (lásd lenn) awk verziója a következő konverziós karaktereket fogadja el:
%c
Egy ASCII karakter.Ha %c-hez rendelt argumentum numerikus, a gawk karakterként kezeli és kiírja. Egyébként feltételezi, hogy az argumentum sztring, és csak a sztring első karakterét írja ki.
%d
%i
Decimális szám (az egészrész).
%e
%E
[-]d.dddddde[+-]dd formájú lebegőpontos szám. A %E-s forma E-t használ e helyett.
%f
[-]ddd.dddddd formájú lebegőpontos szám.
%g
%G
A %e vagy %f konverziók közül a rövidebbet alkalmazza. Az értéktelen nullákat elhagyja. A %G-s forma %E-t alkalmaz %e helyett.
%o
Jelöletlen oktális szám (megint csak egész).
%s
Sztring, karakterfüzér.
%x
%X
Jelöletlen hexadecimális szám (egész). A %X-es forma ABCDEF-et használ abcdef helyett.
%%
Egy % karakter; argumentumot nem konvertál.

Léteznek további, opcionális paraméterek, amelyek a % és a vezérlőkarakter között állhatnak:

-
A kifejezésnek a mezőben balra igazítva kell megjelennie.
space
Numerikus konverziókban space-et ír a pozitív, mínusz jelet a negatív kifejezések elé.
+
A plusz jel - a szélességmódosító előtt (lásd lejjebb) használva - előírja, hogy a numerikus konverziókban mindig előjelet kell írni, akkor is, ha a formázott szám pozitív. A + felülbírálja a space jelzőt.
#
,,Alternatív forma'' használata bizonyos vezérlő betűkhöz. A %o-hoz bevezető 0-t ad. A %x-hez és %X-hez bevezető 0x-et vagy 0X-et ad, ha az eredménynem nulla. A %e, %E és %f esetében az eredmény mindig tartalmazni fog tizedespontot. A %g-nél és %G-nél a számvégi nullák nem maradnak ki az eredményből.
0
A bevezető 0 jelzőként működik, amely azt mutatja, hogy a kimenetben a bevezető space-ek helyett nullák legyenek. Ez a nem-numerikus kimenetek formázására is vonatkozik. Ennek a jelzőnek csak akkor van hatása, amikor a mező szélesebb, mint a kiírandó szöveg.
width
A mezőt ilyen szélességűre kell feltölteni. A feltöltés rendszerint space-ekkel történik. Ha a 0 jelzőt használjuk, nulla lesz a kitöltő karakter.
.prec
Szám, amely meghatározza a kiíráskor alkalmazandó pontosságot. A %e, %E és %f formák esetében ez határozza meg a tizedespont jobb oldalán kiírni kívánt jegyek számát. A %g és %G formáknál ez az értékes jegyek maximális számát adja meg. A %d, %o, %i, %u, %x és %X formák esetében ez a kiírandó jegyek maximális számát határozza meg.

Az ANSI C printf() rutinjainak dinamikus szélesség és pontosság szolgáltatásai támogatottak. Egy * a width vagy prec előírások helyén azt eredményezi, hogy értéküket a printf vagy sprintf() argumentumlistájából veszik.


next up previous index
Következő: 15.8.8.10 Különleges fájlnevek Fel: 15.8.8 MINTÁK ÉS TEVÉKENYSÉGEK Előző: 15.8.8.8 Bemeneti/kimeneti utasítások   Index

1999-09-17