Wie macht das printf() mit der variablen Argumentzahl ?
-
Hallo Forumsaktivisten
,
printf() ist ja eine ziemlich "featurehaltige" Funktion. Am bestaunenswertesten finde ich aber, daß man ihr neben dem Formatstring (nahezu)beliebig viele Argumente übergeben kann.
Da es sich um eine Library- Funktion handelt, müßte man das rein theoretisch nachbauen können, um fprint "wrappen" zu können.Folglich sitze ich hier schon den Tag rum und versuche, die stdio- sourcen zu kapieren, aber bei dem Kuddelmuddel aus C, reichlich Präprozessor- Zeugs und Assembler sehe ich bis jetzt kein Ufer
und fühl' mich langsam echt blöd
Hat sich von Euch schon mal jemand mit dem Thema befaßt und weiß zumindest theoretisch, wie das geht?
Die üblichen Dankesworte mal vorgeschickt ...
-
-
@feigling
Danke für den Link, der hat erstmal geholfen ...Jetzt hänge ich an der Frage fest, ob man so eine Argumentliste in einer struct unterbringen kann
. Die Liste ist ja eigentlich nur ein Base- Pointer oder doch mehr?
Irgendwie wehrt sich mein Compiler gegen solche Versuche mit Vehemenz.Hat da jemand ein funktionierendes Gerüst?
Zudem stellt sich noch die Frage, wie es mit der Gültigkeit aussieht. Wenn ich eine Liste von Static- Argumenten (eigentlich ja Pointer darauf) in der Struct ablegen lasse, zeigt die beim x-ten Durchlauf noch wirklich auf die ursprünglichen Variablen oder auf temporär angelegte Duplikate (die ja dann wohl über die lifetime sind)?
Danke für's Kopf schiefhalten und Tippen
-
Stringtabelle und dann die übergebenen Parameter mit deinen Einträgen in dieser vergleichen! Würde ich sagen