从 .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)
我的输入来自 .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)