2012-03-27 16 views
0

から始まる印刷するCOUTを使用すると、だから私は、私はタイトルタグが始まる見つけることstr.find();を使用していますし、それは私に正しいを与える特定の場所

<html> 
<head><title>301 Moved Permanently</title><head> 

ので た文字列を持っていたと言うことができます位置が、どのように私はちょうど

301 Moved Permanently 

私のコードを印刷しに行くか:

string requestedPage = page.GetBody(); //Get the body of a page and store as string "requestedPage" 

    int subFromBeg = requestedPage.find("<title>"); //Search for the <title> tag 
    int subFromEnd = requestedPage.find("</title>"); //Search for the </title> tag 



    std::cout << requestedPage; //before 

    requestedPage.substr(subFromBeg, subFromEnd); 

    std::cout << requestedPage; //after 
+0

私は何かを試した後、私のコード全体を追加します – THUNDERGROOVE

+1

オリジナルのプログラム全体を表示しないでください。あなたのプログラムを、まだ問題を実証している絶対的に最小の**可能**完全**プログラムに減らしてください。詳細はhttp://sscce.orgを参照してください。ヒント:この問題では、サンプル・プログラムが約10行より長い場合、おそらく長すぎます。 –

+1

注:これは完全なプログラムではありません。 –

答えて

1
requestedPage.substr(subFromBeg, subFromEnd); 

は、文字列を

requestedPage = requestedPage.substr(subFromBeg, subFromEnd); 

std::string::substr変更されることはありませんする必要があり、それは文字列の変更されたコピーを返します。

+0

オハイオ州すべてこれは今意味があります!あなたたちはそんなに大きな助けになっています!! – THUNDERGROOVE

0

substrは私がそれをやる方法です。 cout << str.substr(str.find("title") + 6, 21);のようなものは、 'title'の後に6文字から始まる21文字の文字列を取得します(うまくいけば、私は自分のインデックスを数えましたが、あなたはそのアイデアを得ます)。

+0

私はそれを試して、文字列の最後からどれくらい削除するかを決めた後、すべてをまだ印刷しました – THUNDERGROOVE

+0

@THUNDERGROOVE:次に 'substr'を正しく使用しませんでした。 –

関連する問題