SQLite3利用函数sqlite3_column_blob来返回blob字段的内容的指针,并通过sqlite3_column_bytes来返回对应该字段的长度。 只是一直有一个疑问就是通过sqlite3_column_blob返回的二进制blob内容的内存是谁来释放,是由SQLite内部还是用调用者来释放。 后来仔细观察了内存变化发现,sqlite3_column_blob函数会预先分配一块内存,...
此时pb指向的是0a,就需要先把pb指向ob这个位置,就是pb+1,然后获的其值int len = *(pb +1),因为“0a0bxx xx xx xx”中红色的内容就代表“123456789ax”,获的内容转为string:std::string strData = std::string((char*)(pb+2, len)); 当然,想获的这个字段整个长度,可以用:intnDataLen = sqlite3...