Share via


basic_fstream 클래스

클래스 basic_filebuf 스트림 버퍼를 사용하여 요소 및 인코딩된 개체의 삽입 및 추출을 제어하는 개체와 해당 문자 특성이 클래스TrElem<>Tr에 의해 결정되는 형식Elem의 요소에 대해 설명합니다.

구문

template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<Elem, Tr>

매개 변수

Elem
파일 버퍼의 기본 요소입니다.

Tr
파일 버퍼의 기본 요소 특성(일반적으로)입니다char_traitsElem<>.

설명

개체는 클래스 basic_filebuf<Elem의 개체를 저장합니다 Tr>.

참고 항목

fstream 개체의 get 포인터 및 put 포인터는 서로 독립적이지 않습니다. get 포인터가 이동하면 put 포인터도 이동합니다.

예시

다음 예제에서는 읽고 쓸 수 있는 basic_fstream 개체를 만드는 방법을 보여 줍니다.

// basic_fstream_class.cpp
// compile with: /EHsc

#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
    fstream fs("fstream.txt", ios::in | ios::out | ios::trunc);
    if (!fs.bad())
    {
        // Write to the file.
        fs << "Writing to a basic_fstream object..." << endl;
        fs.close();

        // Dump the contents of the file to cout.
        fs.open("fstream.txt", ios::in);
        cout << fs.rdbuf();
        fs.close();
    }
}
Writing to a basic_fstream object...

생성자

생성자 Description
basic_fstream basic_fstream 형식의 개체를 생성합니다.

멤버 함수

멤버 함수 설명
close 파일을 닫습니다.
is_open 파일이 열려 있는지 확인합니다.
open 파일을 엽니다.
rdbuf basic_filebuf 대한 형식 포인터><ElemTr의 저장된 스트림 버퍼 주소를 반환합니다.
swap 이 개체의 콘텐츠를 다른 basic_fstream 개체의 콘텐츠로 교환합니다.

요구 사항

헤더:<fstream>

네임스페이스: std

basic_fstream::basic_fstream

basic_fstream 형식의 개체를 생성합니다.

basic_fstream();

explicit basic_fstream(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in | ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

explicit basic_fstream(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::in | ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

basic_fstream(basic_fstream&& right);

매개 변수

_파일
열어야 할 파일의 이름입니다.

_모드
ios_base::openmode의 열거형 중 하나입니다.

_제자
_fsopen shflag 매개 변수에 해당하는 기본 파일 여는 보호는 _wfsopen.

설명

첫 번째 생성자는 basic_iostream()를sb 호출하여 기본 클래스를 초기화합니다. 여기서 sb 클래스 basic_filebuf<Elem, Tr>의 저장된 개체입니다. 또한 Elem, Tr>을 호출basic_filebuf<하여 초기화합니다.sb

두 번째 및 세 번째 생성자는 basic_iostream( sb)를 호출하여 기본 클래스를 초기화합니다. 또한 Elem, Tr> 및 sb를 호출basic_filebuf<하여 초기화 sb 합니다.open(_ Filename, _Mode). 후자의 함수가 null 포인터를 반환하는 경우 생성자는 setstate(failbit)를 호출합니다.

네 번째 생성자는 rvalue 참조로 처리되는 right의 내용으로 개체를 초기화합니다.

예시

basic_fstream을 사용하는 예는 streampos를 참조하세요.

basic_fstream::close

파일을 닫습니다.

void close();

설명

멤버 함수는 rdbuf-close> 호출합니다.

예시

close를 사용하는 방법의 예는 basic_filebuf::close를 참조하세요.

basic_fstream::is_open

파일이 열려 있는지 확인합니다.

bool is_open() const;

Return Value

파일이 열려 있는 경우 true, 아닌 경우 false입니다.

설명

멤버 함수는 rdbuf-is_open> 반환합니다.

예시

is_open을 사용하는 방법의 예는 basic_filebuf::is_open을 참조하세요.

basic_fstream::open

파일을 엽니다.

void open(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in | ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const char* _Filename,
    ios_base::openmode _Mode);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::in | ios_base::out,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode);

매개 변수

_파일
열어야 할 파일의 이름입니다.

_모드
ios_base::openmode의 열거형 중 하나입니다.

_제자
_fsopen shflag 매개 변수에 해당하는 기본 파일 여는 보호는 _wfsopen.

설명

멤버 함수는 rdbuf-open>(_ Filename, _Mode)을 호출합니다. 해당 함수가 null 포인터를 반환하는 경우 함수는 setstate( failbit)를 호출합니다.

예시

사용 open방법에 대한 예제는 basic_filebuf::open을 참조하세요.

basic_fstream::operator=

지정된 스트림 개체의 내용을 이 개체에 할당합니다. 복사본을 남기지 않는 rvalue와 관련된 이동 할당입니다.

basic_fstream& operator=(basic_fstream&& right);

매개 변수

right
basic_fstream 개체에 대한 lvalue 참조입니다.

Return Value

*this을(를) 반환합니다.

설명

멤버 연산자는 rvalue 참조로 처리되는 오른쪽의 내용을 사용하여 개체의 내용을 대체합니다.

basic_fstream::rdbuf

basic_filebuf Elem, Tr>에 대한< 형식 포인터의 저장된 스트림 버퍼 주소를 반환합니다.

basic_filebuf<Elem, Tr> *rdbuf() const

Return Value

저장된 스트림 버퍼의 주소입니다.

예시

rdbuf를 사용하는 방법의 예는 basic_filebuf::close를 참조하세요.

basic_fstream::swap

basic_fstream 개체의 내용을 교환합니다.

void swap(basic_fstream& right);

매개 변수

right
basic_fstream 개체에 대한 lvalue 참조입니다.

설명

멤버 함수는 이 개체의 내용과 오른쪽 내용을 교환합니다.

참고 항목

C++ 표준 라이브러리의 스레드 보안
iostream 프로그래밍
iostreams 규칙