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 に答える