ホームページ  >  記事  >  バックエンド開発  >  C で文字列に特定の接尾辞があるかどうかを確認するにはどうすればよいですか?

C で文字列に特定の接尾辞があるかどうかを確認するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-01 01:35:02643ブラウズ

How to Determine if a String Has a Specific Suffix in C  ?

C での文字列サフィックスの決定

C では、文字列が特定のサフィックスを持っているかどうかを決定するには、効率的で信頼性の高いアプローチが必要です。このニーズに対処するために、この記事では、この情報を確認する効果的な方法を検討します。

文字列の終わりの識別

文字列が特定の部分文字列で終わるかどうかを確認するために、C は以下を提供します。 string::compare() 関数。このメソッドを使用すると、文字列内の指定された範囲の文字を、指定された別の文字列と比較できます。

実装

次のコード スニペットは、string::compare の使用法を示しています。 () サフィックス識別用:

<code class="cpp">#include <iostream>

bool hasEnding(std::string const &fullString, std::string const &ending) {
    if (fullString.length() >= ending.length()) {
        return (0 == fullString.compare(fullString.length() - ending.length(), ending.length(), ending));
    } else {
        return false;
    }
}</code>

この関数は、チェックされる完全な文字列と潜在的な末尾の 2 つの文字列パラメーターを受け入れます。文字列全体の長さが末尾の長さに一致するか超えているかどうかを計算し、string::compare() を使用して文字列全体の関連部分と末尾を比較します。

使用例

提供された例は、hasEnding() 関数の適用を示しています。

<code class="cpp">int main() {
    std::string test1 = "binary";
    std::string test2 = "unary";
    std::string test3 = "tertiary";
    std::string test4 = "ry";
    std::string ending = "nary";

    std::cout << hasEnding(test1, ending) << std::endl;
    std::cout << hasEnding(test2, ending) << std::endl;
    std::cout << hasEnding(test3, ending) << std::endl;
    std::cout << hasEnding(test4, ending) << std::endl;

    return 0;
}</code>

このコードの出力には、提供されたテスト文字列のサフィックス比較の結果が表示されます。

以上がC で文字列に特定の接尾辞があるかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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