더북(TheBook)

4.4.2 데이터 파일 저장하기

FileStorage 클래스를 이용하여 XML/YAML/JSON 파일을 쓰기 모드로 열었다면 C/C++ 자료형, STL 클래스, OpenCV 클래스 형식의 데이터를 파일에 저장할 수 있습니다. FileStorage 클래스를 이용하여 데이터를 파일에 저장할 때에는 보통 << 연산자 재정의 함수를 사용합니다. FileStorage 클래스 객체에 데이터를 저장할 때 사용하는 << 연산자 재정의 함수 원형은 다음과 같습니다.

template<typename _Tp> 
static FileStorage& operator << (FileStorage& fs, const _Tp& value);
static FileStorage& operator << (FileStorage& fs, const String& str);
static FileStorage& operator << (FileStorage& fs, const char* str);

fs

FileStorage 객체

value

저장할 데이터(C/C++ 기본 자료형, 벡터, 클래스 등)

str

문자열(이름 또는 값)

반환값

FileStorage 객체의 참조

 

FileStorage 객체를 사용하는 << 연산자 재정의는 함수 템플릿으로 구성되어 있어서 다양한 자료형의 데이터와 함께 사용될 수 있습니다. 즉, char, int, float, double 등 C/C++ 기본 자료형과 string, vector 같은 STL 클래스 객체, 그리고 OpenCV에서 사용하는 Mat, Scalar, Point, Size, Rect 등 클래스 객체를 저장할 수 있습니다.

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