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 =”我的分隔符在字符串的最后位置。所以我找不到该值为空。我想知道值('='的左侧是名称,右侧是值)是否为空。我如何检查这一点。
您可能对[此问题]感兴趣(http://stackoverflow.com/questions/236129/splitting-a-string-in-c)。 –