我。
我有一个如下所示的 csv 文件:
XXXX,20140101
XXXX,20140102
XXXX,20140103
XXXX,20140108
XXXX,20140212
等等,它远不止于此。
二、
以下方法调用将启动我要设计的流程:
Calendar XXXXCal = FromFile("h:\\temp\\XXXXdata.csv","XXXX");
三、
使用 C++ 我想读取这些输入参数,它由一个文件和一个特定值组成。下面的代码在一定程度上说明了我正在尝试做的事情,首先,看一下它,下面我将进一步阐明我的意图。
BespokeCalendar Calendar::XXXXCal(string input_file_name, string input_market)
{
/* Declare the variables to be used */
BespokeCalendar result;
string filename = input_file_name;
string marekt = input_market;
string csvLine
string csvMarket;
string csvDate;
ifstream csvFile ( filename ); // declare file stream
if( csvFile.good()) )
{
while (getline (csvFile,csvLine)
{
var containerArray = line.Split(",");
var csvDate = containerArray[1];
var csvMarket = containerArray[0];
if (csvMarket == marekt)
{
result.addHoliday( csvDate );
}
}
}
else
{
cout << "Unable to open file";
}
result.addWeekend();
return result;
}
如您所见,我想逐行读取 csv 文件,这是上面代码肯定无法完成的。我读过 ifstream 处理文件的迭代,并且 getline 会让我进入下一行,是这样吗?这是如何运作的?
我也怀疑 split 方法是否存在,我必须用“find_first_of”和“substr”来构造它吗?
我怎样才能为此编写一个合理的测试脚本?
我正在修改 QuantLib 的日历类。