首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

find 跟 find_first_of查找结果不同

2013-09-11 
find 和 find_first_of查找结果不同!刚才遇到一奇怪的事啊。字符串为 “qwertyuio\n”(回车符)string::size_t

find 和 find_first_of查找结果不同!
刚才遇到一奇怪的事啊。

字符串为 “qwertyuio\n”(回车符)

string::size_type pos = find("\r\n"),
pos == string::npos(查不到,正常逻辑)

但是
string::size_type pos = find_first_of("\r\n"),
pos != string::npos(居然能查到!?!)

求解,为什么用find_first_of不会显示查询不到呢?

实际环境为linux中,文件中的内容,因为linux中,换行都是\n 。

谢谢!
[解决办法]
http://en.cppreference.com/w/cpp/string/basic_string/find_first_of
[解决办法]
find是匹配整个子串
find_first_of是搜索子串中的字符首次出现的位置。只要找到1个字符就算找到了。
[解决办法]
http://www.cplusplus.com

[解决办法]
find("\r\n"),搜索的是"\r\n"这个字符串
find_first_of("\r\n"),搜索的是'\r'和'\n'这两个字符,找到其中一个就算找到了
如果字符串里有多个字符也同理

热点排行