21xrx.com
2024-06-03 11:28:25 Monday
登录
文章检索 我的文章 写文章
C++如何判断字符串结尾
2023-06-23 19:26:06 深夜i     --     --
C++ 字符串 结尾 判断

C++中,要判断一个字符串是否以某个字符或者字符串结尾,可以使用substr()函数或者类似于strcmp()的函数。

使用substr()函数

substr()函数可以截取字符串中的一个子串,其语法为:

string substr (size_t pos, size_t len) const;

其中,pos是要截取的字符串起始位置,len是要截取的字符串长度。如果省略len,则截取从pos开始到字符串结尾的所有字符。

比如,我们要判断字符串str是否以子串end结尾,那么可以使用以下代码:

string end = "end";

if (str.substr(str.length() - end.length()) == end)

  cout << "str ends with end" << endl;

这里,我们使用substr()函数截取了str字符串的结尾end长度的子串,然后与end字符串比较是否相等。

使用类似strcmp()的函数

另一种方法是使用类似于strcmp()的函数,如strncmp()、_stricmp()等。这些函数可以比较两个字符串是否相同,也可以比较字符串中的一部分。

比如,我们要判断字符串str是否以子串end结尾,那么可以使用以下代码:

string end = "end";

int n = str.length() - end.length();

if (n >= 0 && strncmp(str.c_str() + n, end.c_str(), end.length()) == 0)

  cout << "str ends with end" << endl;

这里,我们首先计算出str字符串的结尾位置(即str.length() - end.length()),然后使用strncmp()函数比较str中这个子串和end字符串是否相等。

总结

以上是使用C++判断字符串结尾的两种方法:使用substr()函数和使用类似于strcmp()的函数。这些方法可以灵活地应用于各种场景,但需要注意字符串的长度、空指针等特殊情况,以免导致程序错误或崩溃。在实际开发中,需要根据具体需求选择合适的方法,并进行充分的测试和调试。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复