std::string の rfind オーバーロードを使用してプレフィックスを確認し、サブストリングを Int に変換する
C std::string が始まるかどうかを判断するには特定の文字列を使用して部分文字列を整数に変換すると、オーバーロードされた rfind 関数を利用できます。
文字列プレフィックスの確認
検索を受け入れる rfind オーバーロードを使用します。位置パラメータ (pos)。このパラメータをゼロに設定すると、検索が文字列の先頭に制限されます。
<code class="cpp">std::string s = "tititoto"; if (s.rfind("titi", 0) == 0) { // The string s starts with the "titi" prefix. }</code>
部分文字列を Int に変換する
既知のプレフィックスの後の部分文字列を抽出して変換するにはこれを整数にするには、rfind と substr の組み合わせを使用できます:
<code class="cpp">std::string arg = "--foo=98"; size_t pos = arg.rfind("--foo="); if (pos != std::string::npos) { std::string fooValue = arg.substr(pos + len("--foo=")); int value = std::stoi(fooValue); }</code>
この例では、arg が "--foo=98" の場合、変数値には整数値 98 が割り当てられます。
STL Advantage
このアプローチでは、Boost などの外部ライブラリが必要なくなります。 STL によって提供される標準の文字列操作を利用します。これは実装が簡単で効率的です。
C 20 の簡略化
C 20 以降では、std:: string クラスと std::string_view クラスには、starts_with メソッドが導入されており、プレフィックスのチェックがさらに簡単になります:
<code class="cpp">std::string s = "tititoto"; if (s.starts_with("titi")) { // The string s starts with the "titi" prefix. }</code>
以上がstd::string の rfind を使用して接頭辞を確認し、部分文字列を整数に変換するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。