在操作mysql数据库类型blob数据时,因为blob是二进制数据,将其存放时要注意,可以使用string来存储数据,然后放入数据库中,特别是在用protobuf序列化后
代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
char a[] = {'a', 'b',0x00, 'c', 'd'};
//会发生截断
string s1(a);
cout << s1 << endl;
//会发生截断
string s2 = a;
cout << s2 << endl;
//用string来存放二进制数据
string s3(a, sizeof(a));
cout << s3 << endl;
string s4;
s4.assign(a, sizeof(a));
cout << s4 << endl;
return 0;
}
输出为