ホームページ >バックエンド開発 >C++ >C でプレフィックスを効率的に検証し、部分文字列を整数に変換する方法

C でプレフィックスを効率的に検証し、部分文字列を整数に変換する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 10:05:02840ブラウズ

How to Efficiently Verify Prefixes and Convert Substrings to Integers in C  ?

C でのプレフィックスの効率的な検証と部分文字列の整数への変換

文字列が特定のプレフィックスで始まるかどうかを確認し、部分文字列を変換する必要性整数への変換はプログラミングにおける一般的なタスクです。 Python では、startswith() 関数と int() 関数を使用してこれを簡単に実現できます。ただし、同様の機能を C で実装するには、別のアプローチが必要です。

C の std::string が特定の文字列で始まるかどうかを確認するには、位置パラメータ pos を 0 に設定して rfind() 関数を使用できます。これにより、検索が文字列の先頭またはそれ以前のプレフィックスにのみ一致するように制限されます。たとえば、argv[1] が「--foo=」で始まるかどうかを確認するには:

if (argv[1].rfind("--foo=", 0) == 0) {
  // argv[1] starts with "--foo="
}

部分文字列を整数に変換するには、stoi() 関数を使用できます。ただし、rfind() は位置を返すため、最初に部分文字列を抽出する必要があります。更新された Python 疑似コードは次のとおりです。

if argv[1].startswith('--foo='):
    foo_value = int(argv[1]['--foo='.len():])

C では、これは次のように変換されます。

size_t pos = argv[1].rfind("--foo=", 0);
if (pos != std::string::npos) {
  foo_value = std::stoi(argv[1].substr(pos + 6));
}

このアプローチは効率的で簡単で、外部ライブラリや追加の複雑さは必要ありません。これは、C での接頭辞チェックと部分文字列変換の両方に対する簡潔で効果的なソリューションを提供します。

以上がC でプレフィックスを効率的に検証し、部分文字列を整数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。