1. 程式人生 > >從xml或yml檔案中讀取資料

從xml或yml檔案中讀取資料

CvFileStorage:檔案儲存器,這是資料持久化和RTTI部分基礎的資料結構,該部分的其他函式均通過此結構來訪問檔案。

typedef struct CvFileStorage
{
    int flags;
    int is_xml;
    int write_mode;
    int is_first;
    CvMemStorage* memstorage;
    CvMemStorage* dststorage;
    CvMemStorage* strstorage;
    CvStringHash* str_hash;
    CvSeq* roots;
    CvSeq* write_stack;
    int struct_indent;
    int struct_flags;
    CvString struct_tag;
    int space;
    char* filename;
    FILE* file;
    char* buffer;
    char* buffer_start;
    char* buffer_end;
    int wrap_margin;
    int lineno;
    int dummy_eof;
    const char* errmsg;
    char errmsgbuf[128];
    CvStartWriteStruct start_write_struct;
    CvEndWriteStruct end_write_struct;
    CvWriteInt write_int;
    CvWriteReal write_real;
    CvWriteString write_string;
    CvWriteComment write_comment;
    CvStartNextStream start_next_stream;
    //CvParse parse;
}
CvFileStorage;

CvFileStorage結構是一個“黑箱”,代表著和磁碟上檔案相關聯的檔案儲存器。下面介紹的一些函式使用CvFileStorage作為輸入並允許使用者去儲存或裝入分層次的集合,包括標量值、標準的CXCORE物件(如矩陣、序列、影象)和使用者定義的物件等。