[C/ANSI] Argumentlisten weitergeben

Hallo Leute,

ich möchte eine Funktion/Methode schreiben die eine Variable Anzahl an Parameter bekommen kann.

Mein Problem ist, dass ich die Argumentliste die ich dann bekomme nicht Parameter für Parameter abarbeiten möchte sondern als gesamte Liste an sprintf weitergeben möchte.

Weiss jemand wie sowas richtig geht?

Grüße, Robert

Hallo Robert,

nimm vsprintf().

#include 
#include 

/\* Mindestens ein festes Argument muss immer gegeben sein. \*/
int SomeFunction (const char\* Template, ...) 
{
 char Buffer[4711];
 va\_list VarArgs;
 va\_start(VarArgs, Template);
 vsprintf(Buffer, Template, VarArgs);
 va\_end(VarArgs);
 return 42;
}

Gruß, Ralf

Danke :smile: (oT)
ot

Hallo

du kannst eine funktion mit zwei parameter
void f( int n , int *vek)mit n die dimention dines vektors und vek als zeiger auf den vektor bzw list.
sag mit bescheid wenn du die lösung hast.

du kannst eine funktion mit zwei parameter
void f( int n , int *vek)mit n die dimention dines vektors und
vek als zeiger auf den vektor bzw list.
sag mit bescheid wenn du die lösung hast.

Hallo,

leider ist das Problem ja, dass ich eine nicht-selbstgeschriebene Funktion (sprintf) aufrufen wollte.

Die Lösung von Ralf mit vsprintf() funktioniert aber sehr gut. :smile:

Danke und Grüße,
Robert