0

私はC++の専門家ではなく、htmlファイルの1行で複数のURLを読み取るプログラムを書いているので、次のコードを書きました:

ifstream bf;
short chapters=0;
string blkhtml;
string blktmpfile; //given
string urldown;    //given
size_t found = 0, limit;

    while(getline(bf, blkhtml)){
            while((blkhtml.find(urldown, found) != string::npos) == 1){
                found = blkhtml.find(urldown);
                limit = blkhtml.find("\"", found);
                found=limit + 1;
                chapters++;
            }
    }

ここでの私の問題は、見つかった条件で使用するために更新されていないことwhileです。私が見たように、std::string クラスは、別の std::string クラス (文字列の場合、str.erase() がその値を更新しない限り更新されませんが、(str.at() = '') は更新されません) )、ループが始まるたびに「見つかった」を更新したい場合、および条件に対して、ここで何ができますか。

私がやりたいことは次のとおりです。

  • 指定された文字列に一致する式があるかどうかを確認しurldownます。

  • 最初と最後の文字を設定します。

  • 見つかった URL の後のループで「pos」を更新し、次を探します。

私は cplusplus.com と cppreference.com のいたるところを見てきましたが、私に役立つものは見つかりませんでした。

std::list::remove を 0 から 9 までのすべての数値でループしてから、新しい値を与えることを考えましたが、それが最適なオプションかどうかはわかりません。

4

1 に答える 1