#include <iostream>
#include <cstdarg>
void PrintMix(const char* fmt...) {
va_list args;
va_start(args, fmt);
while (*fmt != '\0') {
if (*fmt == 'd') {
int i = va_arg(args, int);
std::cout << i << '\n';
} else if (*fmt == 'c') {
char ch = va_arg(args, int);
std::cout << ch << "\n";
} else if (*fmt == 'f') {
double d = va_arg(args, double);
std::cout << d << '\n';
} else if (*fmt == 's') {
char *s = va_arg(args, char *);
std::cout << s << '\n';
}
fmt++;
}
va_end(args);
}
int main() {
PrintMix("fdcfs", 3.14, 2347, 'z', 45.837, "c++");
}
/*
run:
3.14
2347
z
45.837
c++
*/