**
更新时间:2020-08-25
**
vector 互转 stringstream
vector 转 stringstream
vector<unsigned char> buf_jpg;
stringstream picliu; //oss内存图片数据流
//图片输入到流,内存方式上传
for (int i = 0; i < buf_jpg.size(); i++)
{
picliu << buf_jpg[i];
}
stringstream 转 vector
原理:先转string再转vector
stringstream picstream ;
string strpic;
picstream >> strpic;
vector<unsigned char> buf_jpg(strpic.begin(), strpic.end());
buf_jpg.push_back('\0');//添加结束符
mat 转 vector
int MatToByteArray(cv::Mat &mat, vector<unsigned char> &buff)
{
if (mat.empty()) {
return 0;
}
vector<int> param = vector<int>(2);
param[0] = CV_IMWRITE_JPEG_QUALITY; //选择保存格式jpeg
param[1] = 95; // default(95) 0-100 //图片质量
imencode(".jpg", mat, buff, param);
return 0;
}
vector 转 hex16字符串
std::string byteToHexStr(const std::vector<uchar> &byte_arr,const int &arr_len)
{
string *hexstr = new string;
for (int i = 0; i < arr_len; i++)
{
char hex1;
char hex2;
int value = byte_arr[i];
int v1 = value / 16;
int v2 = value % 16;
//
if (v1 >= 0 && v1 <= 9)
{
hex1 = (char)(48 + v1);
}
else
{
hex1 = (char)(55 + v1);
}
//
if (v2 >= 0 && v2 <= 9)
{
hex2 = (char)(48 + v2);
}
else
{
hex2 = (char)(55 + v2);
}
*hexstr = *hexstr + hex1 + hex2;
}
string hex = *hexstr;
delete hexstr;
return hex;
}
c++版分割字符串
vector<string> split(string str, string pattern)
{
std::string::size_type pos;
std::vector<std::string> result;
str += pattern;//扩展字符串以方便操作
int size = str.size();
for (int i = 0; i < size; i++)
{
pos = str.find(pattern, i);
if (pos < size)
{
std::string s = str.substr(i, pos - i);
result.push_back(s);
i = pos + pattern.size() - 1;
}
}
return result;
}
//给个使用方式
//根据逗号分隔字符串得到字串存放进容器内。
split(str,",");
获取unix时间
#include <time.h>
#include <sys/timeb.h>
long long getTimeStamp()
{
timeb t;
ftime(&t);
return t.time * 1000 + t.millitm;
}