-3

文字が文字列に含まれていない場合、Pythonでは「-1」が返されます。

a = "hello"
a.find("a")

結果 : -1

しかし、C++ では奇妙な数値を返します!!!:

string a;
a = "hello";
a.find("a");

結果 : 4294967295

それは何ですか???すべての文字列のすべての文字が等しいのですか??? そして、特別な文字列がテキストに含まれていないときに、どうすればうまくいくと言えますか??

私はPythonでそれを知っていますが、C ++では知りません...

4

3 に答える 3

6

std::string::nposに文字が見付からない場合は返しますstringstd::string::nposのような標準で定義されています

static const size_type npos = -1;
于 2013-04-19T13:37:36.200 に答える
3

ですstring::npos。特定の文字列で特定の文字列を見つけることができるかどうかを判断するには、次を使用する必要があります。

  size_t foundIndex = a.find("a");
  if ( foundIndex != string::npos)
  {
       cout << "found" <<endl;
  }
于 2013-04-19T13:38:33.750 に答える