2012-12-09 46 views
0

任何人都可以請讓我知道如何使用VC++ 2003檢查antoher字符串中的特定字符串?如何檢查另一個源字符串中的特定字符串

對於如:

Soruce字符串 - 「我說,這裏提到的網站是不是在配置數據庫需要檢查」; 找到字符串 - 「此處引用的網站不在配置數據庫中」

任何人都可以請幫助我嗎?讓我知道是否有更清晰的要求。

+0

'std :: string :: find'? – chris

回答

1

string sourceString =「我說這裏引用的站點不在配置數據庫中,需要檢查」;

string stringToFind =「這裏引用的站點不在配置數據庫中」;

sourceString.find(stringToFind); 調用這個方法將返回類型的現在的位置爲size_t

希望這有助於你

3

std::string::find可能滿足你想要什麼,看this

string s1 = "I say that the site referenced here is not in configuration database. need to check"; 
string s2 = "the site referenced here is not in configuration database"; 

if (s1.find(s2) != std::string::npos){ 
    std::cout << " found " << std::endl; 
} 
+0

+1代碼示例 –

1

對於C/C++,你可以使用strstr()

const char * strstr(const char * str1,const char * str2);

找到的子串

將指針返回到STR2的第一次出現在 STR1,或一個空指針如果STR2不是STR1的一部分。

如果你堅持純C++,使用std::string::find

爲size_t找到(常量的std :: string &海峽,爲size_t POS);在串

查找內容

搜索對內容的字符串中任一STR,S或C指定 ,並返回第一 發生在字符串中的位置。

+1

堅持純C++?它應該被重寫爲堅持C. – chris

+0

我說的正是我的意思。有些人堅持使用'std :: cout'的純C++方式,而不是使用舊的普通'printf',即使這樣做效率不高。在這種情況下,普通的C'strstr()'可能更有效率 – mvp

+1

@mvp:'strstr'效率低於'find',因爲它需要檢查每個字符對'\ 0''。 'std :: string'不是因爲它總是知道字符串的長度。 –

相關問題