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 등 클래스 객체를 저장할 수 있습니다.