|
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 25
|
|
Найти длину строки, без использования функции strlen()02.04.2020, 13:50. Показов 20086. Ответов 115
Метки нет (Все метки)
Написать функцию, которая получает строку и возвращает длину строки. Без использования функции strlen ()
0
|
|
| 02.04.2020, 13:50 | |
|
Ответы с готовыми решениями:
115
Написать программу, которая определяет длину строки - strlen (число символов без завершающего нуль-символа)
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 03.04.2020, 17:49 | |||
![]() Т.е. если хотите ноль в начале держать - держите Будет ваше личное соглашение.Добавлено через 4 минуты
0
|
|||
|
"C with Classes"
|
|||
| 03.04.2020, 17:51 | |||
![]() Добавлено через 1 минуту
1
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 03.04.2020, 17:51 | ||
|
0
|
||
|
"C with Classes"
|
|
| 03.04.2020, 17:53 | |
|
0
|
|
|
Комп_Оратор)
|
|||||
| 03.04.2020, 17:55 | |||||
|
Сам с собой то я соглашусь. И то не всегда. Когда размышляю и сомневаюсь - я бурно не согласен. Как и любой, кто умеет сомневаться и размышлять. ![]() Добавлено через 1 минуту
0
|
|||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 03.04.2020, 18:01 | ||
|
А контейнер - это любой массив (в том числе массив символов), даже не являющийся Си строкой. Например функции send, или write принимают указатель на символ, но при этом не считают его Си-строкой (независимо от того, есть там ноль или нет).
0
|
||
|
Комп_Оратор)
|
||
| 03.04.2020, 18:02 | ||
|
Он удивляется. Я продолжаю удивляться. Вы согласились и не видите ни чего удивительного. Но в целом, всё происходящее интересно. Поэтому мы тут и беседуем)
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 03.04.2020, 18:03 | ||
|
Так что наличием функций и такого и такого плана мы только подтвердим тезис о том, что это программистские соглашения, а не языковые.
0
|
||
|
"C with Classes"
|
||
| 03.04.2020, 18:07 | ||
byte отдельный тип и пользовались бы byte * для массивов на байт, и сделали char * чисто строковым массивом с нулем?
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 03.04.2020, 18:10 | |
|
_stanislav, если нужны примеры языковых строк - смотри на паскаль
![]() Все остальные приседания с указателями так и будут оставаться соглашениями.
0
|
|
|
"C with Classes"
|
|
| 03.04.2020, 18:13 | |
|
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||
| 03.04.2020, 18:18 | ||||
|
Так и тут - увековечить ваше соглашение вы можете написав библиотеку, с классами, которые эти соглашения в принудительном уже порядке поддерживают. И с классами этой библиотеки можно будет делать то, что вашими соглашениями предусмотрено. Это именно так работает. boost ведь так и родился. Кто-то когда-то решил "а ведь было бы удобно!" и все. А теперь люди пишут, что это стандарт ) Добавлено через 2 минуты Класс std::string - это тоже соглашения, но они описаны этим классом, и он не дает в идеале их нарушить. Тут гарант - класс. А вот убрать ноль из массива символов вам никто не запретит.
1
|
||||
|
Комп_Оратор)
|
||
| 03.04.2020, 18:22 | ||
|
Это с целью сделать понятным то, что при первом знакомстве кажется непонятным. Тут всегда есть риск нажить дискуссию с кучей тех кто не нуждается ни в каких объяснениях. Я привык)
0
|
||
| 03.04.2020, 18:27 | |
|
Не по теме: IGPIGP, окей :)
0
|
|
| 03.04.2020, 18:34 | |
|
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
|||
| 03.04.2020, 18:49 | |||
c_str() и data() не оставляет выбора: нуль там физически есть и хранится он физически непрерывно с остальными элементами строки. Однако исключений из правил пользования итераторным интерфейсом для этого нуля не сделано. Этот ноль там сидит ради С-интерфейса: его вы можете увидеть через голые указатели. Но не через итераторы.std::string с C-строками не было вообще. std::string - это не нуль-терминированная строка, это строка с хранимой длиной, которой никакой специальный терминатор не нужен.К решению все таки хранить замыкающий ноль на постоянной основе пришли только к C++11. P.S. Это не говоря уже о том, что std::string - это не STL.
0
|
|||
|
Комп_Оратор)
|
||||
| 03.04.2020, 18:57 | ||||
|
TheCalligrapher, именно это я и имел ввиду. Хотя речь тогда шла о контейнерах как таковых. А строка std::string -отличный пример для иллюстрации того что:
0
|
||||
|
|
||||||
| 03.04.2020, 19:17 | ||||||
|
Так что же именно хранит .begin()? Поиграл с длиной строки с просмотром переменной, которой присвоено значение разименованного .begin().
"-61" чего?
0
|
||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
|||||||
| 03.04.2020, 19:44 | |||||||
begin().Попробуйте
97. Что такое 97? 97 чего? Ответ на этот вопрос - это ответ и на ваш вопрос про -61.
1
|
|||||||
|
Комп_Оратор)
|
||
| 03.04.2020, 19:49 | ||
|
Вы получаете неявное преоразование первого сивола (char для basic_string<CharT, Traits, ...) в целое. Остальное вопрос символа (который первый) и кодировки, имхо. Вы же не с пустой строкой играете, Argus19?
0
|
||
| 03.04.2020, 19:49 | |
|
При попытке вычислить длину строки стандартной функцией strlen возникает ошибка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 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`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|