2012-12-09 43 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'不是因为它总是知道字符串的长度。 –

相关问题