「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python の beginswith() および部分文字列から整数への機能を C++ で複製するにはどうすればよいですか?

Python の beginswith() および部分文字列から整数への機能を C++ で複製するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:606

How can I replicate Python\'s startswith() and substring-to-integer functionality in C  ?

C でのプレフィックス文字列の存在の確認と部分文字列の整数への変換

ユーザーが Python の文字列プレフィックス チェックと部分文字列変換の実装に関するガイダンスを求めていますC で。具体的には、Python のstartswith() メソッドと部分文字列の整数への変換の機能を実現することを目的としています。特定のプレフィックスを使用する場合は、検索位置 0 で rfind() メソッドを利用します。例:

std::string s = "tititoto"; if (s.rfind("titi", 0) == 0) { // s は「ティティ」で始まります }

検索位置を 0 に設定すると、rfind() メソッドは文字列の先頭のみをチェックします。これにより、効率的かつ正確なプレフィックス マッチングが可能になります。

std::string s = "tititoto";
if (s.rfind("titi", 0) == 0) {
  // s starts with "titi"
}

部分文字列を整数に変換するには、stoi() 関数を使用します。

if (s.rfind("--foo=, 0) == 0) { int foo_value = std::stoi(s.substr(strlen("--foo="))); }

このコードは、「--foo=」プレフィックスをチェックし、見つかった場合はその末尾 (「=」文字の後) から部分文字列を抽出し、stoi() を使用して整数に変換します。

if (s.rfind("--foo=", 0) == 0) {
    int foo_value = std::stoi(s.substr(strlen("--foo=")));
}

ユーザーは Boost の採用に消極的です。ただし、必要に応じて自由に使用できます。 Boost は、Spirit Library のstarts_with() および stoi() 機能を含む追加の文字列操作機能を提供します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3