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 🙄


Anmelden zum Antworten