首页  >  文章  >  后端开发  >  C语言中如何判断一个字符串是否有特定的后缀?

C语言中如何判断一个字符串是否有特定的后缀?

DDD
DDD原创
2024-11-01 01:35:02645浏览

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>

该函数接受两个字符串参数,要检查的完整字符串和可能的结尾。它计算完整字符串的长度是否满足或超过结尾的长度,然后使用 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中文网其他相关文章!

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