diff options
-rw-r--r-- | FoundationEx/Text.cpp | 13 | ||||
-rw-r--r-- | FoundationEx/Text.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/FoundationEx/Text.cpp b/FoundationEx/Text.cpp index df828f7..ac86d5e 100644 --- a/FoundationEx/Text.cpp +++ b/FoundationEx/Text.cpp @@ -14,6 +14,7 @@ #include "Text.h" #include <cctype> +#include <cstdarg> #include <cstring> // +-------------------------------------------------------------------+ @@ -655,3 +656,15 @@ Text::replace(const char* pattern, const char* substitution) return result; } + +Text +Text::format(const char* fmt, ...) +{ + char buf[2048]; + std::va_list args; + va_start(args, fmt); + int len = std::vsnprintf(buf, 2048, fmt, args); + Text result(buf, len); + va_end(args); + return result; +} diff --git a/FoundationEx/Text.h b/FoundationEx/Text.h index 736c6b9..b498689 100644 --- a/FoundationEx/Text.h +++ b/FoundationEx/Text.h @@ -125,6 +125,7 @@ public: Text substring(int start, int length); Text trim(); Text replace(const char* pattern, const char* substitution); + static Text format(const char* fmt, ...); private: void clone(); |