回 帖 发 新 帖 刷新版面

主题:关于string的问题

一段程序的代码中有这么两句,有些不理解,请高手指点:

string phrase=“game over!”;

if(phrase.find("abc")==string::npos)

cout<<"'abc'is not in the phrase.\n";


问题是:此代码执行会输出'abc'is not in the phrase.
        phrase.find("abc")的返回值是-1,而string::npos表示string对象最大的可能
        大小,是一个很大的值,二者怎么会相等?

回复列表 (共3个回复)

沙发

没用过这个string.find函数,我好像只能找到string.find_first_of啊

板凳

find (charT c, size_type pos = 0) const;

Searches for the first sequence of characters in this string that match a specified string. The variations of this function return, respectively:

3 楼

看下: static const size_t npos = -1;

我来回复

您尚未登录,请登录后再回复。点此登录或注册