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

如题所述

直接用标准库查找,代码如下:

#include <iostream>
#include <string>
using namespace std;

int main()
{   //           01234567890123456789
    string str1("abcdefghijklmnopqrst");
    string::size_type pos = str1.find("klmnop");
    cout << pos << endl;

    return 0;
}

代码返回匹配的字符串第一个字符的位置,比如上面代码返回10.如果找不到那么返回string::npos,用Pos输出是乱码。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-03
#include <iostream>
#include <string>
using namespace std;
 
int main()

    string str("one two three four five six6 seven");
    cout<<str<<endl;
 
    string strSix("six6");
 
    str.find(strSix);
 
    string::size_type found = str.find(strSix);
    if (found!=string::npos)
    {
        cout << "first '"<<strSix<<"' found at: " << found << '\n';
        cout << str.substr(found, strSix.size()) <<endl;
    }
    else
    {
        cout<<"not found "<<strSix<<endl;
    }
    return 0;
}

c++ 怎样判断字符串string里面是否含有某个字符串
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::...

c++ 怎样判断字符串string里面是否含有某个字符串
在C++的STL中,操作字符串的类为string。string类的成员函数find有一种重载为 int find(const char *s,int pos = 0) const;功能为从pos开始查找字符串s在当前串中的位置,pos默认值为0,即从开始查找。find的定义形式,调用形式,与indexof方法均相同,所以在C++中,可以使用string的find函数,实现...

c++ 怎样判断字符串string里面是否含有某个字符串
include <iostream>#include <string>using namespace std;int main(){ \/\/ 01234567890123456789 string str1("abcdefghijklmnopqrst"); string::size_type pos = str1.find("klmnop"); cout << pos << endl; return 0;}代码返回匹配的字符串第一个字符的位置,比如上面代码返回...

c++ 怎样判断字符串string里面是否含有某个字符串
然后通过对find函数返回结果的判断,就可以知道这个string对象里面是否含有某个字符串。如果string对象没有包含这个子字符串,find成员函数就会返回一个string::npos值,如果找到了子字符串,则会返回一个string::size_type类型的下标位置,这个下标位置是子字符串在string对象里的起始下标。所以这个问题实际上...

c++ 怎样判断字符串string里面是否含有某个字符串
第一个入参是要找的字符,第二个入参是从第几个字符开始找(针对这个问题可以设置为0),返回的就是以0为起始位置的该字符所在位置的序号。返回值大于等于0即表示存在该字符。将std::string看做一个字符串,直接用字符串的处理方法strstr也可以的,返回非空即表示存在该字符。

用C++编程一个函数实现一个字符串是否包含另一个字符串?
首先为字符串b腾出空位 int len=strlen(b);for(int i=0;i<len;i++){ (a+10+len+i) = *(a+10+i);} 然后将b插入到腾出来的空位即可 for(int j=0;j<len;j++){ (a+10+j) = b[j];} 这个是最原理的东西,如果你能理解这个,那么后两个for循环其实可以合并为一个,全部代码为 ...

c++ 怎样判断字符串string里面是否含有某个
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 << "字符串没...

c++ string怎样判断字符串里面是否含有某个字符
string s = "abc";if (s.find('a') != string::npos) \/\/找到{}

C++判断字符串中是否含有某个子字符串
既然是用C++,这个问题当然要用C++标准库来解决咯,C++标准库有一个string类,把需要查找判断的字符串赋值给一个string对象,然后调用这个string对象的find成员函数,查找子字符串是否存在这个string对象中,如果这个string对象没有包含那个子字符串,find成员函数就会返回一个string::npos值,如果找到了子字符...

c++怎样判断输入的字符数组是否包含某个字符串(编写时给定字符串)?
自写的一个函数,试下,如果包含,则返回在主串中的起始位置,如果不包含,则返回-1int my_find(char* source, char* target)\/\/source是主串,target是子串{int i,j;int s_len=strlen(source);int t_len=strlen(target);if(t_len>s_len){return -1;}for(i=0;i<=s_len-t_len;i++...

相似回答
大家正在搜