读取输入 Space 与文件分离

Read input Space Separated from the File

我必须使用 C++ 编写一个程序,该程序必须从 .txt 文件中读取数据,其中数据采用这种形式

DATE TIME DATETIME(Unix time_T 值)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

试试这个...

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

无需在迭代中使用两次 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;
}