2012-12-04 3 views
1

나는 이런 식으로 뭔가 보이는 텍스트 파일 속성의 데이터 세트로 일하고 있어요 : 나는 말 (I 쉽게 주어진 열에서 문자를 읽을 수있는 방법을 알아 내려고 노력하고있어 이제파일에서 한 행의 특정 문자를 읽으려면 어떻게해야합니까?

e,x,y,w,t,a,f,c,b,k,e,c,s,s,w,w,p,w,o,p,n,s,g 
e,f,y,y,t,l,f,c,b,w,e,r,s,y,w,w,p,w,o,p,n,y,p 
e,b,s,w,t,a,f,c,b,w,e,c,s,s,w,w,p,w,o,p,n,s,g 
e,b,s,w,t,a,f,c,b,w,e,c,s,s,w,w,p,w,o,p,k,s,m 
e,x,y,n,t,l,f,c,b,w,e,r,s,y,w,w,p,w,o,p,k,y,g 
e,b,s,w,t,a,f,c,b,k,e,c,s,s,w,w,p,w,o,p,k,s,g 
e,x,f,g,f,n,f,c,n,g,e,e,s,s,w,w,p,w,o,p,n,y,u 
e,b,s,y,t,l,f,c,b,k,e,c,s,s,w,w,p,w,o,p,n,s,g 

을, 예를 들어 각 줄의 다섯 번째 글자). 나는 그것을하는 방법을 이해할 수 없다. 아무도 내가 뭘 할 수 있을지 알고 있니? 당신이 상대하고있는 데이터의 집합을 고려

+0

을 , 한 줄씩 읽은 다음 원하는 문자를 선택하십시오. – nhahtdh

+0

CSV 리더기를 사용하십시오. http://stackoverflow.com/questions/1120140/csv-parser-in-c – djechlin

답변

0

아닌 임의의 크기의 하나 개의 문자, 당신은, 각 문자는 쉼표되도록

1 자 = 2 개 파일 공간을 추론 할 수 당신이 5 번째 라인을 읽고 싶다면 원하는 문자

를 계산하지, 파일의 (4*2 + 1) 자리가 될 것입니다. 문자열을 문자열로 읽어 문자열에서 찾거나, 매번 파일에서 하나의 문자를 가져 와서 원하는 숫자에 도달 할 때까지 기다릴 수 있습니다. 데이터에는 공백이없는 경우

cout << "What column would you like to read from? "; 
cin >> num; 
int Length = (num - 1) * 2 + 1; 
char ColumnLetter; 
for(int i = 0; i < Length; i++) 
{ 
    inFile >> ColumnLetter; 
} 
0

, 모든 기호는 쉼표 (,)로 구분되며, 문자열의 끝, 당신은 그런 일 할 수있다 "\ n"은 하나의 상징이다 : 아니

#include <iostream> 
#include <fstream> 

using std::ifstream; 

ifstream file; 
const int LINE_WIDTH; //number of your chars in line (without commas) 

char GetFromFile(int row, int position) //row and position indexes start from 0! 
{ 
    file.seekg(row * (LINE_WIDTH * 2) + position * 2); 
    return file.get(); 
} 

int main() 
{ 
    file.open("data.txt", ios::binary); 

    char c = GetFromFile(10, 3); 

    file.close(); 
    return 0; 
} 
관련 문제