例如,我已经定义了这样的字符串:

const wchar_t mystring[] = L"зеленыйййййййййййййййййййййййй"


我需要将其更改为:зелены

我有什么选择?是否有类似wsrtrim(input,char_code)的内容?

最佳答案

提示:mystringconst,您无法更改。

如果您使用的是C ++,建议您使用STL的string(在本例中为wstring)。这样,您可以选择使用Boost或字符串的内置功能(对于Boost,使用任何类似STL的容器都可以):

std::wstring wstr(mystring);
boost::algorithm::trim_right_if(wstr, [](wchar_t wch) { return wch == L'й'; });
// or
size_t pos = wstr.find_last_not_of(L'й');
if (pos != std::wstring::npos)
   wstr.erase(pos + 1);
else
   wstr.clear();


之后,您还可以将wstr复制回mystring(假设您将其设为非常量)。

关于c++ - 如何使用特定的Unicode代码点rtrim wchar_t?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10917404/

10-13 21:54