首頁 > 後端開發 > C++ > 在 C 中如何確定字串是否以特定子字串結尾?

在 C 中如何確定字串是否以特定子字串結尾?

DDD
發布: 2024-10-29 12:16:02
原創
1043 人瀏覽過

How to Determine if a String Ends with a Specific Substring in C  ?

確定C 語言中的字串結尾

字串操作中的一個常見操作是檢查給定字串是否以另一個字串結尾。此功能在各種應用中至關重要,包括文字處理、模式匹配和文件分析。

在 C 中,有多種方法可以確定字串是否以特定子字串結尾。一個有效的方法是利用標準 C 函式庫中提供的 std::string::compare 函式。

比較函數比較兩個字串並傳回表示結果的整數值。透過將原始字串的最後部分與潛在的結束子字串進行比較,我們可以確定它們是否匹配。

以下程式碼示範如何實作此方法:

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

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;
    }
}

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>
登入後複製

在此程式碼中,我們首先定義一個函數 hasEnding ,它接受兩個字串作為輸入。該函數傳回一個布林值,指示第一個字串是否以第二個字串結尾。

在函數內部,我們檢查第一個字串的長度是否大於或等於第二個字串的長度。如果不是,則函數傳回 false。

如果長度檢查通過,我們使用 Compare 來比較第一個字串的最後部分與第二個字串。如果兩個字串相等,則比較函數傳回 0,這是我們檢查以確定第一個字串是否以第二個字串結尾的方法。

main 函數使用多個輸入字串測試 hasEnding 函數並輸出結果。

以上是在 C 中如何確定字串是否以特定子字串結尾?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板