From cca5439be1d772e67b7f5d48db572df90b02d41e Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Mon, 14 Mar 2022 12:17:15 +0100 Subject: Added padding functionality --- Src/.StringTools.cpp.swp | Bin 0 -> 16384 bytes Src/StringTools.cpp | 23 ++++++++++++++++++++++- Src/StringTools.h | 6 ++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 Src/.StringTools.cpp.swp (limited to 'Src') diff --git a/Src/.StringTools.cpp.swp b/Src/.StringTools.cpp.swp new file mode 100644 index 0000000..47abbdc Binary files /dev/null and b/Src/.StringTools.cpp.swp differ diff --git a/Src/StringTools.cpp b/Src/StringTools.cpp index 346e1bd..fe16c93 100644 --- a/Src/StringTools.cpp +++ b/Src/StringTools.cpp @@ -95,7 +95,6 @@ std::string StringTools::Upper(const std::string& str) { std::vector StringTools::Split(const std::string& str, const std::string& seperator) { std::vector toRet; - // Quick-accept: str length is 0 if (str.length() == 0) toRet.push_back(""); @@ -132,3 +131,25 @@ std::vector StringTools::Split(const std::string& str, const std::s return toRet; } + +std::string StringTools::PadLeft(const std::string& str, const char pad, const std::size_t len) { + std::stringstream ss; + + for (std::size_t i = str.length(); i < len; i++) + ss << pad; + + ss << str; + + return ss.str(); +} + +std::string StringTools::PadRight(const std::string& str, const char pad, const std::size_t len) { + std::stringstream ss; + + ss << str; + + for (std::size_t i = str.length(); i < len; i++) + ss << pad; + + return ss.str(); +} diff --git a/Src/StringTools.h b/Src/StringTools.h index d65772a..e8de59d 100644 --- a/Src/StringTools.h +++ b/Src/StringTools.h @@ -29,6 +29,12 @@ public: //! Will split a string by a string seperator static std::vector Split(const std::string& str, const std::string& seperator); + //! Will pad a string to the left to length l + static std::string PadLeft(const std::string& str, const char pad, const std::size_t len); + + //! Will pad a string to the right to length l + static std::string PadRight(const std::string& str, const char pad, const std::size_t len); + private: // No instanciation! >:( StringTools(); -- cgit v1.2.3