我的通话记录包含文件中的日期时间和持续时间数据:
莫12:30 16 涂7:15 10 我们9:10 20 15:34 6 Fr 13:12 8我想将这些数据存储到变量中,但是因为冒号我遇到了麻烦。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream inputfile;
string day;
double time;
int hours;
string semicolon;
int minutes;
int timeSpent;
inputfile.open("Data.txt");
inputfile >> day;
cout << day << endl;
inputfile >> hours;
cout << hours << endl;
inputfile >> semicolon;
cout << semicolon << endl;
inputfile >> minutes;
cout << minutes << endl;
inputfile >> timeSpent;
cout << timeSpent << endl;
return 0;}
答案 0 :(得分:0)
C ++ 11对此有get_time
和put_time
,对您的日期格式进行小调整(如果小于10,则日期,小时和分钟至少需要三个字母必须有前导零)它就像写作一样简单:
#include <iostream>
#include <iomanip>
int main()
{
std::tm t;
int duration;
while (std::cin >> std::get_time(&t, "%a %R") >> duration)
std::cout << std::put_time(&t, "%a %R") << ' ' << duration << '\n';
}
您的意见如下:
Mon 12:30 16 Tue 07:15 10 Wed 09:10 20 Thu 15:34 6 Fri 13:12 8