2015-11-18 2 views
0

Я новичок в программирование так, пожалуйста, поправьте меня, если я ошибаюсьНужна помощь в понимании SubStr C++

strand1.substr (исходного положения, конечного положения)

Если у меня есть этот код:

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

Я ожидаю, что этот выход аб

Но я получил только первую букву в качестве выходного сигнала

+0

Второй параметр ['count'] (http://en.cppreference.com/w/cpp/string/basic_string/substr) не« конечная позиция ». – user657267

+0

Как говорится в [user657267], [здесь есть документация] (http://en.cppreference.com/w/cpp/string/basic_string/substr). – nonsensickle

+1

@ user657267 Я работал, и это отвечает на мои вопросы! :/can not отметил это ответил, потому что вы ответили на него в комментариях –

ответ

2

Как @ user657267 указывает в комментариях, std::string::substr принимает два параметра: исходное положение и длину; нет конечная позиция.

Таким образом, если вы хотите получить "AB" от "ABCDE", вам необходимо иметь следующее:

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

Синтаксис:

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

так, попробуйте это,

string strand2 = strand1.substr(0, 2); 
Смежные вопросы