[C++] जांचें कि क्या स्ट्रिंग में C ++ में स्ट्रिंग है या नहीं


Answers

आप std::string::find फ़ंक्शन का उपयोग करने का प्रयास कर सकते std::string::find :

string str ("There are two needles in this haystack.");
string str2 ("needle");

if (str.find(str2) != string::npos) {
//.. found.
} 
Question

मेरे पास प्रकार स्ट्रिंग का चर है। मैं यह जांचना चाहता हूं कि इसमें एक निश्चित स्ट्रिंग है या नहीं। मुझे यह कैसे करना है?

क्या कोई ऐसा फ़ंक्शन है जो स्ट्रिंग मिलने पर सत्य लौटाता है, और अगर यह गलत नहीं है?




यह एक साधारण काम है

bool find(string line, string sWord)
{
    bool flag = false;
    int index = 0, i, helper = 0;
    for (i = 0; i < line.size(); i++)
    {
        if (sWord.at(index) == line.at(i))
        {
            if (flag == false)
            {
                flag = true;
                helper = i;
            }
            index++;
        }
        else
        {
            flag = false;
            index = 0;
        }
        if (index == sWord.size())
        {
            break;
        }
    }
    if ((i+1-helper) == index)
    {
        return true;
    }
    return false;
}



आप इसे आजमा सकते हैं

string s1 = "Hello";
string s2 = "el";
if(strstr(s1.c_str(),s2.c_str()))
{
   cout << " S1 Contains S2";
}



#include <algorithm>        // std::search
#include <string>
using std::search; using std::count; using std::string;

int main() {
    string mystring = "The needle in the haystack";
    string str = "needle";
    string::const_iterator it;
    it = search(mystring.begin(), mystring.end(), 
                str.begin(), str.end()) != mystring.end();

    // if string is found... returns iterator to str's first element in mystring
    // if string is not found... returns iterator to mystring.end()

if (it != mystring.end())
    // string is found
else
    // not found

return 0;
}