从 .csv 中读取日期并将其放入 int

Read a date from a .csv and put them in int

我的输入来自 .csv,如下所示:

1135,"2015-07-19","2015-07-28",446
1130,"2015-12-14","2015-12-21",458
1105,"2015-04-01","2015-04-12",761
1125,"2015-01-01","2015-01-11",692

...等等

我需要将 2015、07 和 19 放入 3 个不同的 int 变量(int 年、月、日)中,这样我才能计算出某本书是否可供出租。我一直在使用 getline,但遗憾的是 getline 只能与 char 一起使用,我无法将我的 char 转换回 int...如果没有 int,我无法计算我的书是否可用。

这是我的代码:

while(!fp2.eof())
{
    fp2.getline(copyNo,sizeof(copyNo),',');
    fp2.ignore(1);
    fp2.getline(dateOut.year,sizeof(dateOut.year),'-');
    fp2.getline(dateOut.month,sizeof(dateOut.month),'-');
    fp2.getline(dateOut.day,sizeof(dateOut.day),'"');
    fp2.ignore(2);
    fp2.getline(dateDue.year,sizeof(dateDue.year),'-');
    fp2.getline(dateDue.month,sizeof(dateDue.month),'-');
    fp2.getline(dateDue.day,sizeof(dateDue.day),'"');
    fp2.ignore(1);
    fp2.getline(borrowerNo,sizeof(borrowerNo));
}

有什么方法可以更改我的 getlines 以便将日期数字放入整数中?

找到解决方案:

输入与 .csv (YYYY-MM-DD) 完全一样的字符串,将我的解析更改为 1 个字符串并执行以下操作:

    while(!fp2.eof())
    {
        fp2.getline(copyNo,sizeof(copyNo),',');
        fp2.ignore(1);
        getline(fp2,dateOut,'"');
        fp2.ignore(2);
        getline(fp2,dateDue,'"');
        fp2.ignore(1);
        fp2.getline(borrowerNo,sizeof(borrowerNo));
    }

if(dateDue<today)