搜索std :: string

时间:2010-06-21 16:20:00

标签: c++ string

我正在寻找一个字符串,例如:

std::string str = "_Data_End__Begin_Data_End";
                  |_________| |_____________|
                      data        data
                    section1     section2

如果我在str中搜索“开始”,我想确保在“data section2”中找到它,如果在“data section1”中找不到它/ p>

如果我知道“data section1”的长度是否可能?

2 个答案:

答案 0 :(得分:2)

std::string::find()有一个可选参数,用于指示从哪里开始搜索:

str.find("Begin", length_of_data_section1);

答案 1 :(得分:2)

以下代码在字符串中搜索“Begin”。

std::string::size_type loc = str.find("Begin");
if(loc != std::string::npos)
{
    std::cout << "found \"Begin\" at position " << loc << std::endl;
}

因为数据section2位于数据section1的末尾(而find()开始在position0处搜索),所以你不再需要代码了。