C 文字列が特定の文字列で終わるかどうかを確認するには?

Susan Sarandon
リリース: 2024-10-27 18:53:30
オリジナル
575 人が閲覧しました

How to Check if a C   String Ends with a Specific String?

C による文字列の終わりの検索

文字列が別の文字シーケンスで終わるかどうかを判断することは、プログラミングにおける一般的なタスクです。 C では、この機能は std::string::compare メソッドを使用して簡単に実現できます。

解決策:

終了文字列が最後に存在するかどうかを確認するには完全な文字列のうち、fullString の最後の n 文字を最後の文字列と比較する必要があります。このタスクを実行する関数は次のとおりです。

<code class="cpp">bool hasEnding(const std::string& fullString, const std::string& ending) {
    if (fullString.length() >= ending.length()) {
        return (0 == fullString.compare(fullString.length() - ending.length(), ending.length(), ending));
    } else {
        return false;
    }
}</code>
ログイン後にコピー

説明:

  • fullString が末尾を含むのに十分な長さであるかどうかを確認します。
  • その場合、compare を使用して、fullString の最後の n 文字 (n は末尾の長さ) と末尾の文字列を比較します。
  • 比較の結果 0 が返された場合、文字列は同一であり、関数trueを返します。それ以外の場合は、false を返します。

使用例:

提供された main 関数で、さまざまな文字列と終了文字列を使用して hasEnding 関数をテストします。

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

    // Ending string
    std::string ending = "nary";

    // Print results
    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>
ログイン後にコピー

出力:

true
false
false
true
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!