我有下一个字符串:
string str1 = "1,123456,name1,4";
string str2;
我想将 str1 的字符串(从第 9 个字母到,)插入到 str2。
所以 str2 应该是:name1
如果str1 = "2,234567,namenamename,5",那么str2将是:(namenamename再次:从第 9 个字母到,)。
我不想使用strtok.
任何帮助表示赞赏!
您可以std::string::find()结合使用std::string::substr():
std::string::size_type pos = 9;
std::string str1 = "1,123456,name1,4";
std::string::size_type commaPos = str1.find(',', pos);
if (commaPos == std::string::npos)
{
commaPos = str1.length();
}
std::string str2 = str1.substr(pos, commaPos - pos);
这是一个活生生的例子。