Hallo JürgenB,
jups. printf("%d\n", inet_a2n(1,1,168,192)) schiebt zwei Werte auf den Stack - die Adresse des Formatstrings und ein 32bittiges Gebilde, das aus inet_a2n zurückkommt.
Wie dieses 32bittige Gebilde zu deuten ist, und wieviele Daten auf dem Stack erwartet werden, legt der Formatstring fest. Das muss alles zueinander passen. Ein printf("%x %x %x\n")
ist ein Stack-Peek. printf("%s\n")
ist dagegen ein BSOD der darauf wartet zu passieren.
Es ist einfach schön, wieviel Mühe und Gedanken einem die Variant-Variablen aus Perl oder PHP abnehmen. Dann wissen die Library-Funktionen ganz von selbst Bescheid.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi