C の文字列からのスペースの効率的な削除
C プログラミングの領域では、文字列の操作は基本的なタスクです。よくある課題の 1 つは、文字列からスペースを削除することです。文字を反復処理して新しい文字列を再構築することは実行可能なオプションですが、より効率的なアプローチが存在します。
推奨される方法は、関数 remove_if を利用することです。 >isspace。 remove_if は 2 つのイテレータと述語をパラメータとして受け取ります。述語を満たす要素をコンテナから削除し、それに応じて残りの要素をシャッフルします。
文字列からスペースを削除するには、次のコードを使用できます。remove_if(str.begin(), str.end(), isspace);
string::erase:
str.erase(remove_if(str.begin(), str.end(), isspace), str.end());
remove_if を呼び出す必要があります。これにより、データのコピーが 1 つだけ作成されるようになり、効率が向上します。参考までに、remove_if の実装例を以下に示します。
このメソッドを使用すると、C コードの文字列からスペースを効率的かつ便利に削除でき、テキスト操作タスクを合理化できます。template<typename T, typename P> T remove_if(T beg, T end, P pred) { T dest = beg; for (T itr = beg;itr != end; ++itr) if (!pred(*itr)) *(dest++) = *itr; return dest; }
以上がC の文字列からスペースを効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。