Pusty czek z podziałem napisów

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; }

To jest mój kod do podziału łańcucha. Wysłałem poniższy ciąg, aby podzielić go separatorem „&”

"f0 = nazwa00 i l0 = nazwa0 & f1 = nazwa1 i l1 = nazwa1 i f2 = nazwa2 i l2 = nazwa2 & f3 = & l3 =".

Otrzymałem wynik w wektorze jak poniżej.

f0 = fname0 l0 = nazwa0 f1 = nazwa1 l1 = nazwa1 f2 = nazwa2 l2 = nazwa2 f3 = l3 =

Teraz ponownie wysłałem wynikowe łańcuchy z separatorem „=”. Działa dobrze z „l2 = lname2”. Ale dla „f3 =” i „l3 =” Mój separator na ostatniej pozycji łańcucha. Więc nie mogłem znaleźć wartości null lub nie. Chcę wiedzieć, czy wartość (lewa strona '=' to nazwa, a prawa strona to wartość) jest pusta lub nie. Jak mogę to sprawdzić.

questionAnswers(2)

yourAnswerToTheQuestion