diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /util/string/printf.cpp | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'util/string/printf.cpp')
-rw-r--r-- | util/string/printf.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/util/string/printf.cpp b/util/string/printf.cpp new file mode 100644 index 00000000000..5b7c34d4e14 --- /dev/null +++ b/util/string/printf.cpp @@ -0,0 +1,38 @@ +#include "printf.h" + +#include <util/stream/printf.h> +#include <util/stream/str.h> + +int vsprintf(TString& s, const char* c, va_list params) { + TStringOutput so(s.remove()); + + return Printf(so, c, params); +} + +int sprintf(TString& s, const char* c, ...) { + va_list params; + va_start(params, c); + const int k = vsprintf(s, c, params); + va_end(params); + return k; +} + +TString Sprintf(const char* c, ...) { + TString s; + va_list params; + va_start(params, c); + vsprintf(s, c, params); + va_end(params); + return s; +} + +int fcat(TString& s, const char* c, ...) { + TStringOutput so(s); + + va_list params; + va_start(params, c); + const size_t ret = Printf(so, c, params); + va_end(params); + + return ret; +} |