可能重复:
C++ string.substr()函数问题
string s = "0123456789";
cout<<s.substr(0,4)<<endl;
cout<<s.substr(4,7)<<endl;
Run Code Online (Sandbox Code Playgroud)
上面代码行的输出非常出乎意料,s.substr(0,4)给了我"0123",s.substr(4,7)给了我"456789".它只期待"456".我在这里遗漏了什么,并且在C++中有替代substr函数的方法,在第二次调用时只给出"456".