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)。 –