重複の可能性:
C ++ string.substr()関数の問題
string s = "0123456789";
cout<<s.substr(0,4)<<endl;
cout<<s.substr(4,7)<<endl;
上記のコード行の出力はかなり予想外でした。s.substr(0,4)は私に「0123」を与え、s.substr(4,7)は私に「456789」を与えました。「456」だけを期待していました。ここで何かが足りないのでしょうか。また、C ++のsubstr関数に代わるものがあります。これにより、2回目の呼び出しで「456」しか得られません。