C ++从文本文件中过滤内容

时间:2012-07-25 08:00:33

标签: c++ filter

一旦找到[1],[2] ... [n],我一直想要提取一行文本。但似乎我无法想出将一行存储到以[1]开头的字符中。

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(); 
}

这是我要从中提取的文件..

 CAPTION: Currencies

          Name      Price    Change % Chg
       [80]USD/SGD
                  1.2606     -0.00  -0.13%

                                           USD/SGD [81]USDSGD=X
       [82]EUR/SGD
                  1.5242     0.00   +0.11%

                                           EUR/SGD [83]EURSGD=X

我正在使用linux,C ++编程。这是为了过滤从HTML文本文件中获取的数字。

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

您遇到的最大错误是将单个字符视为字符串。第三个参数应该是单个字符分隔符,即分隔文件中记录的字符。如果在编译时添加编译器选项-Wall,则会收到有关在单字符文字中包含多个字符的警告。

实现目标的一种方法是使用regular expressions