我想使用substr()函数来获取从1.到最后的字符链,没有0.我应该这样做:
string str = xyz.substr(1, xyz.length());
或者(xyz.length() - 1)
?为什么?
您无需指定要包含的字符数.正如我在评论中所说:
string str = xyz.substr(1)
这将返回所有字符,直到字符串结束
substr的签名是
string substr (size_t pos = 0, size_t len = npos) const;
由于新字符串的长度比旧字符串小1,您应该按如下方式调用它:
string str = xyz.substr(1, xyz.length() - 1);
您实际上可以省略第二个参数,因为它默认为string :: npos."string :: npos的值表示直到字符串结尾的所有字符." (见http://www.cplusplus.com/reference/string/string/substr/).