vector<string> SplitString (string aString,char *sep)
{
vector<string> vec;
char * cstr,*val,*p;
string str = aString;
cstr = new char [str.size()+1];
strcpy (cstr, str.c_str());
p=strtok (cstr,sep);
while(p!=NULL)
{
vec.push_back(p);
p=strtok(NULL,sep);
}delete[] cstr;return vec; }
这是我的字符串拆分代码。我发送了以下字符串以使用分隔符“&”进行拆分
"f0=fname0&l0=lname0&f1=fname1&l1=lname1&f2=fname2&l2=lname2&f3=&l3="。
我在向量中得到了如下结果。
f0=fname0 l0=lname0 f1=fname1 l1=lname1 f2=fname2 l2=lname2 f3= l3=
现在我再次发送带有分隔符'='的结果字符串。它与“l2 = lname2”一起工作正常。但是对于 "f3=" 和 "l3=" 我的分隔符在字符串的最后一个位置。所以我找不到该值是否为 null 。我想知道值('=' 的左侧是名称,右侧是值)是否为空。我该如何检查这个。