|
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 25
|
|
Найти длину строки, без использования функции strlen()02.04.2020, 13:50. Показов 20094. Ответов 115
Метки нет (Все метки)
Написать функцию, которая получает строку и возвращает длину строки. Без использования функции strlen ()
0
|
|
| 02.04.2020, 13:50 | |
|
Ответы с готовыми решениями:
115
Написать программу, которая определяет длину строки - strlen (число символов без завершающего нуль-символа)
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||||||
| 02.04.2020, 23:24 | ||||||
std::string руками, то завершающим символом строки будет символ \0. А вы почему-то взялись проверять на string::npos, который тут совершенно ни к месту.--- std::string уже давно допускает указание индекса size() и гарантирует возврат \0. Поэтому в "дебаге" проверяется, что индекс меньше либо равен size().
0
|
||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 02.04.2020, 23:25 | ||||||
1
|
||||||
|
Комп_Оратор)
|
|||||||||||||
| 02.04.2020, 23:29 | |||||||||||||
1
|
|||||||||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||
| 02.04.2020, 23:32 | ||
operator [] с индексом size() для константной версии оператора. То есть если параметр объявлен как const std::string или const std::string &, то выхода за пределы не происходит даже в C++98.P.P.S. Кстати, пример того, как "ничего не значащий" const на объявлении параметра может (мог) иметь серьезные последствия с точки зрения функциональности кода.
2
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||
| 02.04.2020, 23:37 | ||||
|
Добавлено через 1 минуту
1
|
||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||
| 02.04.2020, 23:40 | ||
|
0
|
||
|
Комп_Оратор)
|
||
| 02.04.2020, 23:53 | ||
|
0
|
||
|
|
|||||||
| 03.04.2020, 00:00 | |||||||
|
IGPIGP,
0
|
|||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
|||
| 03.04.2020, 00:12 | |||
p. --- Бесполезно показывать скриншоты ошибок, не показывая кода, который вы исполняли и настроек компилятора, который вы использовали. Как я сказал выше, такая ошибка возможна в "старинном" языке С++, но для этого нужно специально постараться использовать именно его. --- Мне более интересно было бы увидеть ваше
1
|
|||
|
|
||||
| 03.04.2020, 00:27 | ||||
![]() Добавлено через 13 минут
0
|
||||
|
Комп_Оратор)
|
|||
| 03.04.2020, 00:35 | |||
|
Argus19, вот тут: А итерация на нём и заканчивается. А пост инкремент догоняет (он неумолим) и прибавляет ещё единицу -см. пояснение от TheCalligrapher. Остальное логично. Если бы он последний раз не инкрементировался то указывал бы за последний символ и разница давала бы точно то, что нужно. Если разрушить понт с while без тела (Чеширский while - люблю его ) то в теле можно проверить а потом или break или инкрементировать дальше (тут же в теле). Тогда в условии придётся оставить true или 1. Это вам для раздумий)
1
|
|||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
|||
| 03.04.2020, 00:40 | |||
|
Не по теме:
Добавлено через 2 минуты std::cout << "*";) то увидите, что количество итераций цикла всегда строго равно длине строки. То есть никакой "лишней итерации" цикл не делает.
0
|
|||
| 03.04.2020, 00:57 | |
|
0
|
|
| 03.04.2020, 01:13 | |
|
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 03.04.2020, 01:16 | |
|
Argus19, резюмируя: в VS 2010 (которая опирается на стандарты С++98/03) использовать код, который смотрит за конец строки std::string без использования константной версии operator[], запрещено. Именно этот запрет проверяет assert внутри неконстантной версии operator[] (который у вас перехватывается средой в качестве SEH-исключения). Верный вариант представлен в #19.
1
|
|
|
|
|||||||
| 03.04.2020, 01:34 | |||||||
1
|
|||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||
| 03.04.2020, 01:49 | ||||
|
Вот случаи, помеченные как until C++11 (т.е. до C++11)
Всем новичкам нужно вырабатывать навыки чтения документации, это первостепенная вещь.
0
|
||||
|
Комп_Оратор)
|
||
| 03.04.2020, 02:02 | ||
![]() Argus19, count и counter по коду идентичны. Какой-то - не жилец, похоже) А вообще, литература годная, бутявки (не кузявые) должны разбежаться, спрятаться и выжить, имхо)
0
|
||
| 03.04.2020, 02:02 | |
|
При попытке вычислить длину строки стандартной функцией strlen возникает ошибка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|