더북(TheBook)

FileStorage 클래스 타입의 변수를 선언한 후, FileStorage::open() 함수를 이용하여 mydata.json 파일을 쓰기 모드로 열기 위해서는 다음과 같이 소스 코드를 작성합니다.

FileStorage fs;
fs.open("mydata.json", FileStorage::WRITE);

그런데 FileStorage 클래스는 FileStorage::open() 멤버 함수와 같은 형식의 인자를 갖는 생성자도 지원합니다. 코드 4-13의 5행에 적혀 있는 생성자를 이용하면 FileStorage 타입의 객체 생성과 동시에 데이터 파일을 특정 모드로 열 수 있습니다. 예를 들어 앞에서 두 줄로 작성한 예제 코드는 다음과 같이 한 줄로 쓸 수 있습니다.

FileStorage fs("mydata.json", FileStorage::WRITE);

FileStorage 객체에서 데이터 파일 열기를 시도한 후에는 해당 파일이 정상적으로 열렸는지 확인하는 것이 좋습니다. FileStorage::open() 멤버 함수를 사용하여 파일을 열 경우에는 함수의 반환값을 검사하여 정상 동작을 확인할 수 있지만, FileStorage 생성자를 이용하여 객체 생성과 파일 열기를 한꺼번에 수행하는 경우에는 파일이 정상적으로 열렸는지를 따로 확인해야 합니다. 이때 사용할 수 있는 함수가 FileStorage::isOpened() 함수입니다. 이 함수는 FileStorage 객체가 사용할 파일이 정상적으로 열린 상태이면 true를 반환합니다.

virtual bool FileStorage::isOpened() const;

반환값

파일이 정상적으로 열려 있으면 true, 그렇지 않으면 false를 반환합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.