From 2ababb48c76a7de7c20b53a925607c32bdcc413f Mon Sep 17 00:00:00 2001 From: Shun Wang Date: Fri, 14 Mar 2025 16:39:19 +0800 Subject: [PATCH] fix trim space while value is not unsigned char --- stringutils.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stringutils.h b/stringutils.h index 7cf3b2b..a703eac 100644 --- a/stringutils.h +++ b/stringutils.h @@ -161,15 +161,15 @@ class stringUtils // trim from start (in place) static inline std::string ltrim(std::string &s) { - s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](int ch) { - return !std::isspace(ch); + s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](unsigned char ch) { + return !std::isspace(ch); // see:https://en.cppreference.com/w/cpp/string/byte/isspace })); return s; } // trim from end (in place) static inline std::string rtrim(std::string &s) { - s.erase(std::find_if(s.rbegin(), s.rend(), [](int ch) { + s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char ch) { return !std::isspace(ch); }).base(), s.end()); return s;