您的位置:首页 > 编程语言 > C语言/C++

c++ 怎样判断字符串string里面是否含有某个字符串?

2014-07-21 23:56 465 查看
c++ string怎样判断字符串里面是否含有某个字符串?

例如:string str="afdsdfs_hello_sdfas#@!";

怎样判断str里面是否含有“hello",,谢谢



使用 string 的 find 成员函数。

#include <iostream>

#include <string>

using namespace std;

int main()

{

string str = "afdsdfs_hello_sdfas#@!";

string str1 = "hello";

string::size_type idx = str.find( str1 );

if ( idx != string::npos )

{

cout << "字符串含有“<< str1 << "\n";

}

else

{

cout << "字符串没有" << str1 << "\n";

}

}

解析:string::npos是个返回值

string 类提供了 6 种查找函数,每种函数以不同形式的 find 命名。

这些操作全都返回 string::size_type 类型的值,以下标形式标记查找匹配所发生的位置;或者返回一个名为 string::npos 的特殊值(它说明查找没有匹配的)。string 类将 npos 定义为保证大于任何有效下标的值。

所以 当 str.find("哦")==string::npos时则说明字符串str中不存在“哦”这个字符,

反之,str.find("哦")!=string::npos则说明字符串str中存在“哦”这个字符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: