开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
没有
问题(Question):
一般来说要在vector找某笔资料可以使用find
vector<string> v;
v.push_back("50");
v.push_back("2991");
v.push_back("23");
v.push_back("9999");
vector<string>::iterator i = v.begin();
i = find(v.begin(), v.end(), "9999");
if (i != v.end ())
{
int nPosition = distance (v.begin(), i);
cout << "Value "<< *i;
cout << " found in the vector at position: " << nPosition << endl;
}
else
cout<<"not found"<<endl;
如果有找到就会回传在vector所在位置,反之则说not found。
现在我有问题的地方在于要如何设定 "找寻范围"
改成 i = find(v.begin()+2, v.end(), "2991"); 则会显示not found
但如果是从 v.end()-1 就会变得怪怪的。
例子:
i = find(v.begin(), v.end()-2, "9999");
Output: Value 23 found in the vector at position: 2
预期结果: not found
请问要如何修改呢?
谢谢