需要帮助来理解substr c ++

时间:2015-11-18 02:17:41

标签: c++ string

我对编程很新,所以如果我错了请纠正我

strand1.substr(起始位置结束位置

如果我有这段代码:

int main()
{
    string strand1 = "abcde";
    int pos = 1;
    string strand2 = strand1.substr(0, pos);
    cout << strand2;
    _getch();
    return 0;
}

我期待这个输出 的 AB

但我只把第一个字母作为输出 的

2 个答案:

答案 0 :(得分:2)

正如@ user657267在评论中指出的那样,std::string::substr有两个参数:起始位置和长度; 结束位置。

因此,如果您希望从“abcde”获得“ab”,则需要具备以下条件:

std::string strand1 = "abcde";
auto strand2 = strand1.substr(0, 2);

答案 1 :(得分:0)

语法:

string.substr(start position, length of the string);

所以,试试这个,

string strand2 = strand1.substr(0, 2);