我必须使用C ++编写一个程序,该程序必须从.txt文件读取数据,其中数据采用这种形式
DATE TIME DATETIME(Unix time_T Value)MachineID温度
现在必须采取time_T值和温度,我需要执行基数排序
这个文件有超过3,00,000条记录每行有1条记录如上所述保存,我有基数排序的想法,但我完全不知道在单独的队列(time_T,Temp)中分割上面的字符串格式。我正在使用以下代码阅读文件:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main() {
ifstream input("demo.txt");
string line;
while (getline(input, line)) {
cout << line << '\n';
}
return 0;
}
更新 输入示例 2016-01-01 00:00:04.039251 1451624404 01948 4.9
答案 0 :(得分:1)
迭代中无需使用inFile
两次。我认为这应该有所帮助:
int main() {
ifstream inFile("filename.txt");
int i = 0;
string date,time,datetime;
time_t t1;
float temprature;
while (inFile >> date >> time >> datetime >> t1>> temprature)
{
cout << t1 << " " << temprature << endl;
}
inFile.close();
return 0;
}
答案 1 :(得分:-1)
试试这个......
int main() {
ifstream inFile("filename.txt");
std::string line;
int i = 0;
string date,time,datetime;
time_t t1;
float temprature;
while (std::getline(inFile, line))
{
inFile >> date >> time >> datetime >> t1>> temprature;
cout << t1 << " " << temprature<<endl;
}
inFile.close();
return 0;
}