## 问题描述
`OHOS::TrimStr` 无法正确处理长度大于 1、且完全由 `cTrim` 字符组成的字符串。
例如:
```cpp
OHOS::TrimStr("tt", 't')
预期返回空字符串 "",实际返回原字符串 "tt"。
默认裁剪空格的场景也存在相同问题:
预期返回空字符串,但实际返回两个空格。
版本信息
- Repository: OpenHarmony/commonlibrary_c_utils
- Branch: master
- File: base/src/string_ex.cpp
- Function: OHOS::TrimStr
最小复现
可以在 base/test/unittest/common/utils_string_test.cpp 中添加以下测试:
HWTEST_F(UtilsStringTest, test_strtrim_all_trim_chars, TestSize.Level0)
{
EXPECT_EQ(TrimStr("tt", 't'), "");
EXPECT_EQ(TrimStr(" "), "");
}
实际结果
TrimStr("tt", 't') == "tt"
TrimStr(" ") == " "
预期结果
TrimStr("tt", 't') == ""
TrimStr(" ") == ""
预期返回空字符串 "",实际返回原字符串 "tt"。
默认裁剪空格的场景也存在相同问题:
预期返回空字符串,但实际返回两个空格。
版本信息
最小复现
可以在 base/test/unittest/common/utils_string_test.cpp 中添加以下测试:
实际结果
预期结果