모두의 코드
C++ 레퍼런스 - ifstream 생성자

작성일 : 2019-04-28

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

ifstream 생성자

basic_ifstream();  // (1)
explicit basic_ifstream(const char* filename,
                        std::ios_base::openmode mode = ios_base::in);  // (2)

explicit basic_ifstream(const std::filesystem::path::value_type* filename,
                        std::ios_base::openmode mode = ios_base::in);  // (3)

explicit basic_ifstream(const std::string& filename,
                        std::ios_base::openmode mode = ios_base::in);  // (4)

explicit basic_ifstream(const std::filesystem::path& filename,
                        std::ios_base::openmode mode = ios_base::in);  // (5)

basic_ifstream(basic_ifstream&& other);  // (6)

basic_ifstream(const basic_ifstream& rhs) = delete;

새로운 파일 스트림을 생성한다.

참고로 ifstreambasic_ifstream<char> 과 같다. basic_ifstream<wchar_t> 의 경우 wifstream 이다.

  1. 기본 생성자 : 어떤 파일과도 연관되어 있지 않는 스트림을 생성한다.

  2. 스트림을 생성한 후에, rdbuf()->open(filename, mod | std::ios_base::in) 을 통해서 파일과 스트림을 연관시킨다. 만일 open 함수가 널 포인터를 리턴하게 된다면 failbit 을 설정한다.

  3. 위와 비슷하지만, 이 경우 std::filesystem::path::value_typechar 가 아닐 때 오버로딩 된다.

  4. basic_ifstream(filename.c_str(), mode) 를 호출한 것과 동일

  5. basic_ifstream(filename.c_str(), mode) 를 호출한 것과 동일

  6. 이동 생성자

인자들

상수

설명

app

항상 스트림에 끝에 쓴다

binary

이진 형태로 파일을 읽는다

in

읽기 작업을 위해 파일을 연다

out

쓰기 작업을 위해 파일을 연다

trunc

파일을 열면서 스트림에 쓰여진 내용들을 모두 지운다

ate

파일을 열음과 동시에 스트림의 끝으로 이동한다

실행 예제

#include <fstream>
#include <string>
#include <utility>
int main() {
  std::ifstream f0;
  std::ifstream f1("test.bin", std::ios::binary);
  std::string name = "example.txt";
  std::ifstream f2(name);
  std::ifstream f3(std::move(f1));
}

참고 자료

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