|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|||||||||||
Access violation и размерность символьного массива03.06.2012, 02:13. Показов 6014. Ответов 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" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|