0

[1]、[2] ... [n] が見つかったら、テキスト行を抽出したいと思っていました。しかし、[1] で始まる行を char に格納するという考えが浮かばなかったようです。

void ExtractWebContent::filterContent(){
    char str [10];
    ifstream reading;
    reading.open("file_Currency.txt");

    while (!reading.eof()){
        reading.get(str,10,'[1]');
        cout << str << endl;
    }
    cout << str;
    reading.close(); 
}

これは、抽出したいファイルです..

キャプション: 通貨

          名前 価格変化 % Chg
       [80]USD/SGD
                  1.2606 -0.00 -0.13%

                                           USD/SGD [81]USDSGD=X
       [82]ユーロ/SGD
                  1.5242 0.00 +0.11%

                                           EUR/SGD [83]EURSGD=X

Linux、C++ プログラミングを使用しています。これは、HTML テキスト ファイルから取得した図をフィルター処理するためのものです。

どんな助けでも大歓迎です。ありがとうございました!

4

1 に答える 1

1

あなたが持っている大きなエラーは、単一の文字を文字列として扱うことです. 3 番目の引数は、1 文字のdelimiter、つまりファイル内のレコードを区切る文字である必要があります。コンパイル時にコンパイラ オプションを追加する-Wallと、1 文字リテラルに複数の文字があるという警告が表示されます。

やりたいことを行う 1 つの方法は、正規表現を使用することです。

于 2012-07-25T08:09:52.450 に答える