Я хотел бы использовать функцию substr(), чтобы получить цепочку символов от 1. до последней, без 0. Должен ли я сделать это так? : string str = xyz.substr(1, xyz.length());
или (xyz.length() - 1)
? И почему?substr() от 1. до последнего символа C++
ответ
Сигнатуры подстроки является
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/).
xyz.substr (1) 'намного лучше. –
Вам не нужно указывать количество символов для включения. Так как я сказал в моем comment:
string str = xyz.substr(1)
Это возвращает все символы до конца строки
оба заявления
std::string str = xyz.substr(1, xyz.length());
и
std::string str = xyz.substr(1, xyz.length() - 1);
действительны (хотя первый может запутать читателя кода) при условии, что размер str
не равен 0.
Однако эта декларация
std::string str = xyz.substr(1);
более выразительным.
Если строка xyz
может быть пустой строкой, то вы должны написать что-то вроде
std::string str = xyz.substr(!xyz.empty() ? 1 : 0);
или
std::string str = xyz.substr(xyz.size() != 0 ? 1 : 0);
также первые два ненужных вычисляют длину строки. – styvane
@ user3100115 Все они должны определить длину, но она не вычислена, поэтому не проблема. ('string :: size()' требуется, чтобы быть O (1).) –
- 1. Substr от символа до символа php
- 2. PHP substr от символа
- 3. Сократить строку C от последнего появления символа?
- 4. EditText автоматически до последнего символа?
- 5. удаления последнего символа в C
- 6. Найти последнего символа строки php
- 7. PHP substr после некоторого символа, элементарного решения substr + strpos?
- 8. Match все до последнего наличие символа
- 9. от символа до system.windows.forms.keys
- 10. Удаление последнего символа в C
- 11. удалить все до последнего вхождения символа
- 12. BASH - просто удалить пробелы до первого символа и последнего символа
- 13. Поиск последнего символа
- 14. Instr - последний индекс последнего символа
- 15. Поиск части текста от символа до символа
- 16. regex от первого символа до конца строки
- 17. Замена последнего символа в строке
- 18. обрезка строки, удаление последнего символа в C#
- 19. Получить часть строки от 1-го символа до следующего пространства?
- 20. C Удаление последнего символа в строке
- 21. Как $ {@: -1} развернуть до последнего аргумента
- 22. Пакетная проверка последнего символа
- 23. Проверка последнего символа
- 24. C++: поиск последнего появления символа в строке
- 25. подстрока, после последнего появления символа?
- 26. Visual Studio C++ удаление последнего символа из строки
- 27. PHP функции строки получить подстроку до последнего вхождения символа
- 28. Регулярные выражения: Соответствие текста до последнего индекса символа
- 29. регулярное выражение в Vim визуального выделения, до последнего символа выбранного
- 30. Хочет получить элемент от первого до последнего. Но возвращается до 1-го
Я сделаю 'xyz.substr (1)' ' – styvane