diff --git a/source/StringUtils.cpp b/source/StringUtils.cpp index b651cc6b9..161a8a168 100644 --- a/source/StringUtils.cpp +++ b/source/StringUtils.cpp @@ -57,7 +57,7 @@ AString & AppendVPrintf(AString & str, const char *format, va_list args) -AString & Printf(AString & str, const char *format, ...) +AString & Printf(AString & str, const char * format, ...) { str.clear(); va_list args; @@ -71,6 +71,20 @@ AString & Printf(AString & str, const char *format, ...) +AString Printf(const char * format, ...) +{ + AString res; + va_list args; + va_start(args, format); + AppendVPrintf(res, format, args); + va_end(args); + return res; +} + + + + + AString & AppendPrintf(AString &str, const char *format, ...) { va_list args; diff --git a/source/StringUtils.h b/source/StringUtils.h index 908c725ab..dbf553773 100644 --- a/source/StringUtils.h +++ b/source/StringUtils.h @@ -27,6 +27,9 @@ extern AString & AppendVPrintf(AString & str, const char * format, va_list args) /// Output the formatted text into the string extern AString & Printf (AString & str, const char * format, ...); +/// Output the formatted text into string, return string by value +extern AString Printf(const char * format, ...); + /// Add the formatted string to the existing data in the string extern AString & AppendPrintf (AString & str, const char * format, ...);