fork download
  1. #include <cstdarg>
  2. #include <cstdio>
  3. #include <iostream>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. string event(const char* format, ...) {
  9. va_list length_args;
  10.  
  11. va_start(length_args, format);
  12. va_list result_args;
  13.  
  14. va_copy(result_args, length_args);
  15. const auto length = vsnprintf(nullptr, 0U, format, length_args);
  16. string result(length, '\0');
  17.  
  18. vsprintf(&*begin(result), format, result_args);
  19. va_end(result_args);
  20. va_end(length_args);
  21. return result;
  22. }
  23.  
  24. int main() {
  25. const auto two = event("%d %d", 13, 42);
  26. const auto zero = event("lorem ipsum");
  27.  
  28. cout << two << ' ' << zero << endl;
  29. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
13 42 lorem ipsum