C++ std::string 字符串分割轮子
int stringSplit(string src,vector<string> &dst,string flag)
{
string tmp;
unsigned int start=0;
unsigned int pos = src.find(flag);
unsigned int len = pos;
if(pos==string::npos)
{
dst.push_back(src);
return 1;
}
while(pos!=string::npos)
{
tmp = src.substr(start,len);
if(tmp.size()>0)
{
dst.push_back(tmp);
}
start = pos+1;
pos = src.find(flag,start);
len = pos - start;
}
tmp = src.substr(start,src.size()-start);
if(tmp.size()>0)
{
dst.push_back(tmp);
}
return dst.size();
}
string obisDec2Hex(string in)
{
string out;
char buf[4];
int i=0;
vector<string> dst;
int bb = stringSplit(in,dst,".");
if(bb!=6)
return out;
for(i=0;i<6;i++)
{
int aa = atoi(dst[i].c_str());
sprintf(buf,"%02X",aa);
out.append(buf);
}
return out;
}