たとえば、次のような文字列を定義しました。
const wchar_t mystring[] = L"зеленыйййййййййййййййййййййййй"
そして、私はそれを次のように変更する必要があります:зелены
どのようなオプションがありますか? 次のようなものはありwsrtrim(input,char_code)
ますか?
Nip:mystring
はconst
、変更できません。
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
ます(非constにすると仮定)。
StrTrimW()
wchar_t の置換に必要なのはこれだけです。
美術