rendered paste body#include <iostream>#include <qstring.h>#include <iomanip>using namespace std;void foo(char* format, ...);int main(){ foo("i", 1); foo("ic", 1, 'a'); return 0;}void foo(char* buf, ...){ void** varg = (void**)(&buf); char* format = (char*)(*varg++); cout << "Format: " << format << endl << flush; for (int i = 0; format[i] != '\0'; i++) { QString data; switch (format[i]) { case 'i': cout << "int: " << flush << setw(5) << flush << (*((int*)(*varg++))) << flush; break; case 'c': cout << "char: " << flush << setw(5) << flush << (*((char*)(*varg++))) << flush; break; } cout << endl; }}// register int *varg = (int *)(&format);// register char *format = (char *)(*varg++);// register char *s = *((char **)varg++);