一旦找到[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文本文件中获取的数字。
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
您遇到的最大错误是将单个字符视为字符串。第三个参数应该是单个字符分隔符,即分隔文件中记录的字符。如果在编译时添加编译器选项-Wall
,则会收到有关在单字符文字中包含多个字符的警告。
实现目标的一种方法是使用regular expressions。