모두의 코드
C++ 레퍼런스 - ios::rdbuf 함수

작성일 : 2012-03-25 이 글은 1128 번 읽혔습니다.

아직 C++ 에 친숙하지 않다면 씹어먹는 C++ 은 어때요?

ios::rdbuf

streambuf* rdbuf() const;
streambuf* rdbuf(streambuf* sb);

연관된 스트림 버퍼를 설정하거나 얻는다.첫번째 형태의 함수는 연관된 스트림 버퍼를 리턴한다.두 번째 형태의 경우 현재 스트림을 sb 와 연관 시키고 이전에 연관되어 있었던 스트림 버퍼를 리턴한다. 이 때 상태 플래그는 goodbit 로 설정된다.

 인자

sb

연관시킬 스트림 버퍼를 가리키는 포인터

 리턴값

이전에 연관되어 있었던 스트림 버퍼

 실행 결과

/*이 예제는http://www.cplusplus.com/reference/iostream/ios/rdbuf/에서
 * 가져왔습니다.*/
#include <iostream> #include <fstream> using namespace std;
int main() {
  streambuf *psbuf, *backup;
  ofstream filestr;
  filestr.open("test.txt");
  backup = cout.rdbuf();  // 현재 cout 의 스트림 버퍼를 백업한다.    psbuf =
                          // filestr.rdbuf();   // 파일 스트림 버퍼를 얻는다
                          // cout.rdbuf(psbuf);         // 파일 스트림 버퍼를
                          // cout 에 연관시킨다    cout << "This is written to
                          // the file"; // 따라서 이것은 파일에 쓰여진다.
                          // cout.rdbuf(backup);        // 원래 cout 의 스트림
                          // 버퍼로 돌아간다.    filestr.close();    return 0;}

실행 결과

파일에 잘 출력된 것을 알 수 있다.

 템플릿 멤버 정의

(basic_ios<charT, traits>)

  basic_streambuf<charT, traits>* rdbuf() const;
basic_streambuf<charT, traits>* rdbuf(basic_streambuf<charT, traits> sb);

 연관된 자료

첫 댓글을 달아주세요!
프로필 사진 없음
강좌에 관련 없이 궁금한 내용은 여기를 사용해주세요