Endurion hat gesagt.:Ein beliebige Anzahl an Parametern würde so aussehen:
Code:const char* MeinPrintf( const char* lpszFormat, ... ) { static char szMiscBuffer[3000]; vsprintf( szMiscBuffer, lpszFormat, (char *)( &lpszFormat + 1 ) ); return szMiscBuffer; }
Achtung, der Code prüft nichts und kann Fehler produzieren, wenn man nicht aufpasst. Zum einen max. 3000 Zeichen in einer Zeile. Zum anderen kannst du bei falschen Parametern (std::string direkt) richtig schön auf die Schnauze fallen. Und verschachteln geht auch nicht.
Aber einfacher zu formatieren als die std::streams isses
Nachtrag: Defines haben ihren Platz, aber was du da machst, ist keiner davon.
Ah ich habe jetzt was neues raus gefunden
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Code:
#include <tchar.h>
void Funktion(TCHAR *szFormat, ...)
{
va_list pArgList;;
TCHAR newtext[SNA_TCHARPUFFER];
va_start (pArgList,szFormat);
vsprintf(newtext,szFormat,pArgList);
va_end (pArgList);