fork download
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdarg>
  4. #include <string>
  5. #include <vector>
  6. #include <boost/format.hpp>
  7.  
  8. std::string string_format(const char *fmt, ...) {
  9. std::vector<char> str(100);
  10. va_list ap;
  11. while (1) {
  12. va_start(ap, fmt);
  13. int n = vsnprintf(&str[0], str.size(), fmt, ap);
  14. va_end(ap);
  15. if (n > -1 && n < str.size()) {
  16. str.resize(n);
  17. return &str[0];
  18. }
  19. str.resize(str.size() * 2);
  20. }
  21. }
  22.  
  23. int main() {
  24. std::cout << string_format("%s %s %s!\n", "Hello", "World");
  25. std::cout << boost::format("%s %s %s!\n") % "Hello" % "World";
  26. return 0;
  27. }
Runtime error #stdin #stdout 0.01s 2852KB
stdin
Standard input is empty
stdout
Hello World D!