让说,我们必须找到一个字符串:C++使用字符串的一部分
string list[]= {"12.34.56.78","55.34.5","23.44.5"}
我希望用户输入这也是一个字符串,字符串的一部分:例如串55 ,它会循环通过串和查找整个字符串和打印"55.34.5"
我在做什么是:
str
是一个字符串输入和list
是字符串的整个列表
for (int i=0; i<n; i++){
for (int j=0; j<(list[i].length()); j++){
for (int k=0; k<(str.length()); k++){
if (list[i][j] == str[k])
cout<<list[i]<<endl;
else
break;
但是,这有一个问题,它不能正常工作。
更新:
,所以我已经更新了我的代码:
for (int i=0; i<n; i++)
if (strncmp(list[i].c_str(), str.c_str(), str.length()) == 0)){
cout<<list[i]<<endl;
}
然而,这不输出任何字符串。
想在更高层次上的find成员函数...你有一个[string类](http://www.cplusplus.com/reference/string/string/string/ )看看这个类的成员函数,看看是否能提供你所需要的。 – amdn
如果用户输入“34”会怎么样?你想让前两个字符串匹配(“12.34.56.78”和“55.34.5”)?换句话说,你在寻找用户字符串是你的列表中的字符串的“substring”吗? – amdn
输出两种选择,然后 –