String -> unsigend char *
unsigned char * mes = (unsigned char *) (str.c_str());
unsigned char * 到 String
unsigned char mes[60] = "";
std::string str = (char*)mes;
vector<unsigned char> 到 unsigned char *
std::vector<unsigned char> plainFile = fileData;
reinterpret_cast<char*>(plainFile.data())
char类型的拼接
char* str1 = "Hello";
char*str2 = "World";
char str3[20];
strcpy(str3, str1);
strcat(str3, str2);
cout << str3 << endl;
sprintf(str3,"%s%s",str1,str2);
cout << str3 << endl;
16进制转换
unsigned char getNumber(std::string hexNumStr) {
int x;
stringstream ss;
ss << std::hex << hexNumStr;
ss >> x;
S_LOGI("number = %d", x);
return (unsigned char) x;
}
字符串拆分
void StringUtils::split(const std::string &src, const std::string &sep, std::vector<std::string> &ans) {
std::string str = src;
int nPos = 0;
nPos = str.find(sep);
while(-1 != nPos)
{
std::string temp = str.substr(0, nPos);
ans.push_back(temp);
str = str.substr(nPos+1);
nPos = str.find(sep);
}
ans.push_back(str);
}
时间戳格式转换成年月日时分秒
std::string StringUtils::timestamp2Dir(long timestamp) {
char now[64];
time_t tt = timestamp;
struct tm tTime{};
localtime_r(&tt, &tTime);
strftime(now, 64, "%Y/%m/%d/%H/%M", &tTime);
return {now};
}