2010-06-30 7 views
1

extern 텍스트 파일에서 행을 읽고 일부 행의 1. 문자가 필요합니다.seekg tellg end of line

포인터가 라인 x와 라인 x의 시작을 설정할 수있는 다른 함수라는 것을 알려주는 함수가 있습니까?

현재 위치 전후의 줄로 점프해야합니다.

답변

0

내가 생각하는 기능이 없습니다. 아마도 getline()을 사용하여 직접이 기능을 구현하거나 한 번에 한 문자 씩 끝 문자 (\n) 파일을 스캔하여이 문자 다음에 한 문자 만 저장해야합니다.

줄 시작 오프셋을 저장하는 데 도움이되는 벡터 (예 : vector<size_t>)가있을 수 있습니다.이 방법을 사용하면 줄 단위로 파일을 이동할 수 있습니다. 그러나 이것을 시도하지 않았으므로 효과가 없을 수 있습니다.

0

ifstream을보고 스트림에서 파일을 읽은 다음 을 사용하여 std::string에 각 줄을 가져올 수 있습니다.

이렇게하면 쉽게 물결표를 반복하고 필요한 문자를 가져올 수 있습니다.

// reading a text file 
#include <iostream> 
#include <fstream> 
#include <string> 
using namespace std; 

int main() { 
    string line; 
    ifstream myfile ("example.txt"); 
    if (myfile.is_open()) 
    { 
    while (! myfile.eof()) 
    { 
     getline (myfile,line); 
     cout << line << endl; // Here instead of displaying the string 
     // you probably want to get the first character, aka. line[0] 
    } 
    myfile.close(); 
    } 

    else cout << "Unable to open file"; 

    return 0; 
} 
: 여기

은 ( here 찍은) 예는