读取与文件分离的输入空间

时间:2016-06-26 14:55:23

标签: c++ queue radix-sort

我必须使用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

2 个答案:

答案 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;
}