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:
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?
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?