2010-06-21 61 views
-1

我正在尋找搜索的字符串,例如:搜索爲std :: string

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

如果我在尋找「開始」 str我想確保它看起來在「data section2 「如果找不到」data section1

如果我知道」data section1「的長度會有可能嗎?

+3

你究竟是什麼意思?什麼劃分了兩個數據部分?如果在「data section1」中找不到該字符串,標準查找_will_將查找「data section2」,因爲它將掃描整個字符串。 – 2010-06-21 16:24:10

回答

2

std::string::find()有一個可選參數,表示從哪裏開始搜索:

str.find("Begin", length_of_data_section1); 
+0

但在data_section1中搜索它呢? – Carl17 2010-06-21 16:26:06

+1

@ Carl17:'rfind()':http://www.cplusplus.com/reference/string/string/rfind/ – 2010-06-21 16:28:48

2

下面的代碼搜索「開始」的字符串。因爲數據部分2在數據部分1(並且find()開始在位置0處開始搜索)的末尾,所以不需要更多的代碼。

相關問題