Проблемы со строковым индексом в C ++

0

Как я могу получить доступ к строковому индексу в C++? Например: если у меня есть проверка имени переменной строки, и я хочу получить к ней доступ с номера индекса от 5 до 9. Как я могу это сделать с помощью C++?

string test;
cout<<test[5:9];

Я попробовал вышеуказанный метод, но он не работает. Какие-либо предложения? Спасибо.

Теги:

3 ответа

8
Лучший ответ

Если вы включите библиотеку строк, вы можете использовать метод substr:

http://www.cplusplus.com/reference/string/string/substr/

cout << test.substr(5, 4)

Просто имейте в виду, что аргументы являются начальным индексом и длиной подстроки, а не начальным индексом и последним индексом.

  • 2
    Также стоит упомянуть, что это возвращает новую строку. OP может ссылаться на диапазон существующей строки без копирования.
  • 1
    В случае, если кто-нибудь столкнется с этим постом в будущем (как к вашему сведению), если вы используете CStrings, аналоговой функцией будет CString :: mid msdn.microsoft.com/en-us/library/aa300543%28v=vs.60 % 29.aspx
1

Синтаксис этого фрагмента не работает в C++. Вам нужно будет использовать std::string::substr

Пример:

std::string test = "Some test string";
std::cout << test.substr(5, 4) << std::endl;
0

Используйте substr.

Нет оператора среза, который выглядит как [x:y] в C++.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню