可能重复:
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 函数的方法,这在第二次调用时只会给我“456”。