Beliebige Anzahl von Parametern?
-
Ich habe gerade dieses hier in unserem Quellcode entdeckt:
typedef int (_cdecl *LOGGERLOG)(int Level, char *Format, ...);
Bedeuten die drei Punkte das, was ich vermute? Kann ich der Funktion beliebig viele Argumente (wahrscheinlich vom Typ char*) übergeben? Wie kommt sowas an? Vielleicht in einem Array (ähnlich __argv[])? Wo kann ich das nachlesen?
-
-
mit va_start und Konsorten
-
Schau dir am besten printf/fprintf/sprintf an (C-Funktion), die wird dort vermutlich einfach aufgerufen.
-
Fellhuhn schrieb:
Schau dir am besten printf/fprintf/sprintf an (C-Funktion), die wird dort vermutlich einfach aufgerufen.
Na klar! Warum ist mir das noch nie aufgefallen?
-
Das Problem dabei ist auch, dass man nicht weiß, wie viele Argumente übergeben wurde, muss man beachten
~nur so am Rande..~