0

たとえば、次のような文字列を定義しました。

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

そして、私はそれを次のように変更する必要があります:зелены

どのようなオプションがありますか? 次のようなものはありwsrtrim(input,char_code)ますか?

4

3 に答える 3

2

Nip: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ます(非constにすると仮定)。

于 2012-06-06T16:17:56.497 に答える
1

StrTrimW()

wchar_t の置換に必要なのはこれだけです。

美術

于 2013-03-23T20:20:40.760 に答える