|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|||||||||||
Access violation и размерность символьного массива03.06.2012, 02:13. Показов 6044. Ответов 76
Метки нет (Все метки)
Всех приветствую!
Только начинаю работать с консолькой, и вот уже возникли непонятки с символьными массивами. Конкатенирую 2 введенные строчки через разделитель " - ":
Но почему я должен заботиться об этом нулевом символе и плюсовать дополнительно еще один символ в размерности для этого нулевого символа? ![]() Хотя, наверное, мое предположение об 0-ом символе неверно. Тогда что же это?
0
|
|||||||||||
| 03.06.2012, 02:13 | |
|
Ответы с готовыми решениями:
76
Access violation. Выход за границы массива Access Violation при обращении к элементу массива Access violation при выводе массива через функцию |
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 05.06.2012, 00:20 [ТС] | |
|
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 05.06.2012, 00:33 [ТС] | |
|
Avazart, хм... а почему так происходит, если убрать cin?
0
|
|
|
|
|
| 05.06.2012, 00:49 | |
|
Ну по тому что записывается "abcde\0\0\0\0\0....\0" (как сказано в цитате).
а в во вторую строку "0123456789" без \0. но как сказано в цитате это зависит от компилятора т.е вероятно может быть в первой строке записалось "abcde\0??????" по тому и мусор Добавлено через 11 минут Вприципе чего гадать- можно просто поэксперементировать
1
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 05.06.2012, 00:58 [ТС] | |
|
Avazart, о, значит получается у второй строки сразу после введенных символов оказался /0? Но это же не наш нулевой символ, а просто рандомный мусор - я правильно понимаю?
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 05.06.2012, 01:02 [ТС] | |
|
Avazart, странно... А почему тут 'a' (из первой строки) вдруг на /0 перезаписалась?
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 05.06.2012, 01:11 | |
|
При вводе строки автоматически записывается ноль символ в конце. При вводе 20 символов он просто пишется за пределы массива, в данном случае в str[20];
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|||||
| 05.06.2012, 01:14 [ТС] | |||||
|
Avazart, и как-то
В общем, какой-то хитрый рандом). Добавлено через 42 секунды Toshkarik, Ну тогда возвращаемся... К... Да собственно к первой мессаге моей - как тогда объясните AV, если на str[20] у меня записался /0.Добавлено через 2 минуты
0
|
|||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
| 05.06.2012, 01:16 | ||||||
|
Enter это символ новой строки '\n', он никак не относится к данной операции. Просто так реализована перегрузка оператора >> на ввод строки. При
1
|
||||||
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
||
| 05.06.2012, 01:20 [ТС] | ||
|
Toshkarik,
Дык все-таки почему в моем случае возникает тогда Access Violation, если в конце szString2 записывается /0? По ячейке szString2[20]. И должно быть все норм впоследствии... А возникает AV. М?
0
|
||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 05.06.2012, 01:21 | |
|
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 05.06.2012, 01:23 | |
|
С чего это норм? Данные записываются за пределы массива, на что и указывает ошибка. Я думаю, что просто реализация исключений у всех компиляторов разная.
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
||
| 05.06.2012, 01:27 [ТС] | ||
|
Avazart, чего-то не понял... Вы перезаписал \0 получается?
И что это нам дает?Toshkarik,
0
|
||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 05.06.2012, 01:28 | |
|
А на чем? На чтении?
Это в принципе без разницы. Просто сам факт доступа к данным за пределы массива вызывает исключение в функции strcat().
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
||
| 05.06.2012, 01:44 [ТС] | ||
|
Toshkarik,
Но если ниже использовать strcat, которая будет считывать из этой строчки, то почему-то возникает ошибка, хотя она должна дойти до этого знака '^' и успокоиться...
0
|
||
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
| 05.06.2012, 01:49 [ТС] | |
|
Чего-то пипец у меня каша в голове теперь...
0
|
|
| 05.06.2012, 01:49 | |
|
Access Violation at address. при записи в StringGrid двумерного массива Ошибка 'Access violation at address 00403EF4' при вводе массива Ошибка (access violation) при обращении к элементу динамического массива структур Обращение к элементам массива порождает ошибку "Access violation" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|