1

我想用 C++ 解析雅虎金融 csv 文件。鉴于每一行的格式为:

Date,Open,High,Low,Close,Volume,Adj Close  

获得这些值的有效方法是什么?我想将日期存储到一个结构中,该结构包含一个 ctime 结构的日期,并为所有其他值加倍。

4

2 回答 2

2

您可以为 line 定义一个结构,例如:

struct Instrument
{
   ctime   date_;
   double  open_;
   double  high_;
   double  low_;
   double  close_;
   double  volume_;
   double  adj_;
   double  close_;
};

然后你 getline 从文件中读取每一行,将每一行(使用 boost tokenizer、regex 或split-a-c++-string)解析为一个 Instrument 对象,然后你可以将它存储在一个 STL 容器中,例如:

std::vector<Instrument> instruments;
instruments.push_back(instrument);
于 2012-12-18T03:25:23.393 回答
0

我认为 Boost 正则表达式可以帮助你。

http://www.boost.org/doc/libs/1_52_0/libs/regex/doc/html/index.html

于 2012-12-18T03:06:21.840 回答