首页  >  文章  >  后端开发  >  如何检查 C 字符串是否以特定字符串结尾?

如何检查 C 字符串是否以特定字符串结尾?

Susan Sarandon
Susan Sarandon原创
2024-10-27 18:53:30576浏览

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,则字符串相同,并且该函数返回真。否则,它返回 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中文网其他相关文章!

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