printf.cpp 745 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "printf.h"
  2. #include <util/stream/printf.h>
  3. #include <util/stream/str.h>
  4. int vsprintf(TString& s, const char* c, va_list params) {
  5. TStringOutput so(s.remove());
  6. return Printf(so, c, params);
  7. }
  8. int sprintf(TString& s, const char* c, ...) {
  9. va_list params;
  10. va_start(params, c);
  11. const int k = vsprintf(s, c, params);
  12. va_end(params);
  13. return k;
  14. }
  15. TString Sprintf(const char* c, ...) {
  16. TString s;
  17. va_list params;
  18. va_start(params, c);
  19. vsprintf(s, c, params);
  20. va_end(params);
  21. return s;
  22. }
  23. int fcat(TString& s, const char* c, ...) {
  24. TStringOutput so(s);
  25. va_list params;
  26. va_start(params, c);
  27. const size_t ret = Printf(so, c, params);
  28. va_end(params);
  29. return ret;
  30. }