首页 >后端开发 >C++ >在 C 中如何确定字符串是否以特定子字符串结尾?

在 C 中如何确定字符串是否以特定子字符串结尾?

DDD
DDD原创
2024-10-29 12:16:021039浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn