读取输入 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;
}
我必须使用 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;
}