2016-06-26 1 views
1

나는 데이터가이 형태입니다 .txt 파일에서 데이터를 읽을 필요가 C에서 프로그램 ++에서 작업해야파일에서 분리 입력 공간을 읽기

날짜 시간 DATETIME (유닉스 time_T 값) MachineID 온도
이제 써서 time_t 값과 온도를 취할하고 난 위에서 언급 한 바와 같이, 나는 기수 정렬의 아이디어가 기수 정렬 3,00,000 기록 저장 한 기록을 가진 각 선 위에 가진이 파일을 수행해야하지만 위의 분할 완전히 인식입니다 별도의 대기열에있는 문자열 형식 (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;  
} 

UPDATE 2016년 1월 1일 00 입력의 예 : 00 : 00 : 나는 코드 아래 사용하여 파일을 읽고 있어요 ... 04.039251 1451624404 01948 4.9

+3

'표준 : istringstream','연산자는 >>' – LogicStuff

+0

은 "분리 된 공간을 읽을 ++ 유래의 C"를 위해 인터넷을 검색하여 중복을 찾아주세요. 관련된 "stackoverflow C++ read file csv"를 참조하십시오. 여기서 "csv"는 쉼표로 구분 된 값을 의미합니다. 입력 파일을 구문 분석하는 방법을 묻는 경우 –

+0

(필요한 스키마를하고있는 경우) 입력 형식의 예를 보여주십시오. –

답변

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

getline'이 줄을 읽은 다음'INFILE >>'도 라인을 읽고,하지만 두 번째 줄을 사용하는'으로이 모든 홀수 라인을 삭제합니다 :이 답변을 참조하십시오 . – DJSquared