모두의 코드
C++ 레퍼런스 - istream::seekg 함수
작성일 : 2019-04-19
이 글은 15321 번 읽혔습니다.
istream::seekg
<istream> 에 정의됨
basic_istream& seekg(pos_type pos); // (1) basic_istream& seekg(off_type off, std::ios_base::seekdir dir); // (2)
연관된 streambuf
객체의 입력 위치 지정자 값을 설정한다. 실패 시에 setstate(std::ios_base::failbit)
을 호출한다.
처음에 seekg 를 호출하면, eofbit
을 클리어 한다. 그 후에;
입력 위치 지정자 값을 파일의 시작으로부터의 위치인
pos
로 설정한다. 이는rdbuf()->pubseekpos(pos, std::ios_base::in)
를 실행한 것과 같다.입력 위치 지정자를
dir
이 지정한 위치로 부터off
만큼 떨어진 곳으로 설정한다. 이는rdbuf()->pubseekoff(off, dir, std::ios_base::in)
를 실행한 것과 같다.
인자들
pos
: 입력 위치 지정자를 설정할 절대 위치.off
: 입력 위치 지정차를 설정할 상대 위치dir
: 상대 위치에 기준이 되는 지점. 이는 아래 3 가지 상수들 중 하나 이다.
상수 | 설명 |
---|---|
| 스트림의 시작점 |
| 스트림의 끝점 |
| 위치 지정자의 현재 위치 |
리턴값
*this
실행 예제
#include <iostream> #include <sstream> #include <string> int main() { std::string str = "Hello, world"; std::istringstream in(str); std::string word1, word2; in >> word1; in.seekg(0); // 입력 위치 지정자를 맨 앞으로 움직인다. in >> word2; std::cout << "word1 = " << word1 << '\n' << "word2 = " << word2 << '\n'; }
실행 결과
word1 = Hello, word2 = Hello,
참고 자료
tellg : 입력 위치 지정자의 현재 위치를 리턴한다.
tellp
: 출력 위치 지정자를 리턴한다.seekp
: 출력 위치 지정자를 설정한다.
댓글이
1 개 있습니다!

강좌에 관련 없이 궁금한 내용은
여기를 사용해주세요
또는 직접 입력하세요 (댓글 수정시 비밀번호가 필요합니다)
댓글을 불러오는 중입니다..