6

複素数の場所+またはその中の場所を見つけたい、例えば-

x + y*i 

x - y*i

通常、私はこれを行います:

int found = str.find("+");
if (found != string::npos)
    cout << "'+' also found at: " << found << endl;


found = str.find("-");
if (found != string::npos)
    cout << "'-' also found at: " << found << endl;

find1回の実行で複数のオプションを検索するにはどうすればよいですか?

4

2 に答える 2

18

使用std::string::find_first_of()

size_t found = str.find_first_of("+-");

これ(リンクされたリファレンスページから):

指定された文字シーケンスの文字の1つに等しい最初の文字を検索します。検索はposから始まります。つまり、見つかった文字がposの前の位置にあることはできません。

于 2012-12-04T10:05:09.013 に答える
1

を使用しfind_first_of()ます。

std::stringこれがメソッド のリファレンスです。http://www.cplusplus.com/reference/string/string

于 2012-12-04T10:09:08.740 に答える