87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
|
||||||
Узнать длину строкового массива19.12.2016, 20:55. Показов 20178. Ответов 8
Метки нет Все метки)
(
0
|
19.12.2016, 20:55 | |
Ответы с готовыми решениями:
8
Узнать длину динамического массива
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
19.12.2016, 21:05 | |
Torovich, А что у вас в s1 и s2? там мусор. И случайно где-то образовался терминальный ноль
2
|
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
|
||||||
19.12.2016, 21:35 [ТС] | ||||||
Да, там мусор. Изучаю с сайта cppstudio.com Символы и строки.
В strcpy_s прокатило, т. к. правильно строку выдает. В strncpy_s - ошибка, т. к. strlen(s3) = 42 вместо 6.
0
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
19.12.2016, 22:17 | |
А кем же он по вашему является, ежели он char[] ? Он именно и является строкой, содержащей мусор. И как и к любой строке, применение операции strlen является с точки зрения языка совершенно законным. И кем это
? Но конечно, любая операция, примененная к ахинее (мусору) ахинею и дает.
![]()
1
|
Вездепух
![]() ![]() ![]() 12875 / 6739 / 1810
Регистрация: 18.10.2014
Сообщений: 17,066
|
|
20.12.2016, 00:06 | |
![]() Решение
Термин "строка" в языке С (и, соотвественно, унаследованный термин "С-строка"/"C-style string" в языке С++) имеет четкое формальное определение, которое дано в разделе 7.1.1 спецификации языка С. Строкой называется непрерывная последовательность символов, завершенная нулевым символом. Нулевой символ при этом считается частью строки.
Неинициализированный массив char [] строкой не является, по причине того, что не гарантирует завешенность нулевым символом. Применение строковых функций стандартной библиотеки к такому массиву char [] не явлается законным.Добавлено через 2 минуты И что? Функция strlen ничего не знает об этом размере и не имеет вообще никакого отношения к размеру, который вы задали в объявлении символьного массива.
1
|
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
|
||||||
20.12.2016, 18:26 [ТС] | ||||||
Вот так всё получилось...
0
|
![]() ![]() 1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
|
||||||
20.12.2016, 18:31 | ||||||
размер массива и длинна строки - это немного разное, размер массива может быть:
1
|
20.12.2016, 18:31 | ||||||
Помогаю со студенческими работами здесь
9
Как узнать длину массива? Как в теле функции узнать длину передаваемого ей массива?
Узнать длину строки и длину каждого слова Как сделать элемент строкового массива элементом числового массива? Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
|
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
|
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
|
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
|
Nullable типы и операторы объединения null в C#
UnmanagedCoder 12.04.2025
Многие шутят, что null — это миллиардная ошибка в программировании. И в этой шутке только доля шутки. Тони Хоар, создатель null-ссылки, сам назвал её своей "ошибкой на миллиард долларов". Почему?. . .
|
Аутентификация и авторизация JWT в микросервисах с API Gateway
stackOverflow 12.04.2025
В традиционных монолитных приложениях безопасность часто реализуется как единый защитный периметр - пользователь проходит аутентификацию один раз, после чего получает доступ ко всем функциям системы. . . .
|
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
|
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
|
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|