我在這裏太傻了,但我不能斷言會遍歷字符串時find_if得到函數簽名:使用std :: find_if用的std :: string
bool func(char);
std::string str;
std::find_if(str.begin(), str.end(), func))
在這種情況下谷歌已經不是我的朋友:(是有人在這裏?
我在這裏太傻了,但我不能斷言會遍歷字符串時find_if得到函數簽名:使用std :: find_if用的std :: string
bool func(char);
std::string str;
std::find_if(str.begin(), str.end(), func))
在這種情況下谷歌已經不是我的朋友:(是有人在這裏?
#include <iostream>
#include <string>
#include <algorithm>
bool func(char c) {
return c == 'x';
}
int main() {
std::string str ="abcxyz";;
std::string::iterator it = std::find_if(str.begin(), str.end(), func);
if (it != str.end()) {
std::cout << "found\n";
}
else {
std::cout << "not found\n";
}
}
是的,知道我是愚蠢的,我有一個if語句中的find_if並且無法破譯錯誤信息,謝謝 – Patrick 2009-04-20 12:37:16
如果your're試圖找到一個的std :: string str
內的單個字符c
你大概可以使用std::find()
,而不是std::find_if()
。而且,實際上,您最好使用std::string
的成員函數string::find()
而不是來自<algorithm>
的函數。
#include <iostream>
#include <string>
#include <algorithm>
int main()
{
std::string str = "abcxyz";
size_t n = str.find('c');
if(std::npos == n)
cout << "Not found.";
else
cout << "Found at position " << n;
return 0;
}
謝謝,但不是我正在嘗試做的:我正在重構一個isNumeric函數 – Patrick 2009-04-20 15:29:22
什麼問題? 「這裏有人嗎?」? – kim366 2017-04-02 19:02:37