3

我有下一个字符串:

string str1 = "1,123456,name1,4";
string str2;

我想将 str1 的字符串(从第 9 个字母到,)插入到 str2。

所以 str2 应该是:name1

如果str1 = "2,234567,namenamename,5",那么str2将是:(namenamename再次:从第 9 个字母到,)。

我不想使用strtok.

任何帮助表示赞赏!

4

1 回答 1

4

您可以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);

这是一个活生生的例子

于 2013-03-29T10:57:10.757 回答