从c ++中的txt文件导入时间

时间:2015-11-18 00:52:40

标签: c++ fstream

我的通话记录包含文件中的日期时间和持续时间数据:

莫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;}

1 个答案:

答案 0 :(得分:0)

C ++ 11对此有get_timeput_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