[C++] Een va_arg-lijst als parameter meegeven

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Ik wil op een van mijn classes een methode definieren die dezelfde argumenten accepteert als printf() (dus 1 format-string en 0 of meer optionele parameters).
Vervolgens moet de implementatie van deze methode deze argumenten weer doorgeven aan sprintf().

Mijn methode ziet er bijvoorbeeld zo uit:
C++:
1
2
3
4
void A::Format(const char *pcFormatString, ...){
    //Doorgeven aan sprintf()
    sprintf(m_abBuffer, pcFormatString, /* En nou? */);
}


Ik weet dat ik met va_start, va_arg etc. bij de lijst met optionele parameters kan komen, maar daarmee kan ik ze alleen stuk voor stuk benaderen, en niet als argument aan een andere functie doorgeven.

Mijn vraag is dus: is het mogelijk om deze argumenten blindelings aan sprintf() door te geven?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:32

.oisyn

Moderator Devschuur®

Demotivational Speaker

als je in de documentatie had gekeken dan had je gezien dat er een functie vsprintf () bestond die vararg parameters ondersteunt, zodat je gewoon een va_list parameter kunt meegeven.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Dit topic is gesloten.