字符串开头的分隔符

Delimiter at the start of a string

我根据分隔符 "/".

将字符串拆分成更小的部分
stringstream ss(stringToSplit);
string item;
vector<std::string> splitStrings;
while (std::getline(ss, item, delimiter))
{
   splitStrings.push_back(item);
}

一些字符串看起来像这样:

home/user/folder
/home/user/folder
banana/grape/onion
/banana/grape/onion

我遇到的问题是,前面有我的定界符 "/" 的字符串在结果向量的开头创建了一个空项。有没有办法避免这种情况或删除空项目? 我尝试删除向量中的所有 " " 字符串,但它们仍然存在。

好吧,您可以像这样跳过 getline() 检测到的空字符串:

stringstream ss(stringToSplit);
string item;
vector<std::string> splitStrings;
while (std::getline(ss, item, delimiter))
{
   if(!item.empty()) { // <<<<<<<<<<<<<
       splitStrings.push_back(item);
   }
}