1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|||||||||||
1 | |||||||||||
Access violation и размерность символьного массива03.06.2012, 02:13. Показов 4198. Ответов 76
Метки нет (Все метки)
Всех приветствую!
Только начинаю работать с консолькой, и вот уже возникли непонятки с символьными массивами. Конкатенирую 2 введенные строчки через разделитель " - ":
Но почему я должен заботиться об этом нулевом символе и плюсовать дополнительно еще один символ в размерности для этого нулевого символа? Хотя, наверное, мое предположение об 0-ом символе неверно. Тогда что же это?
0
|
03.06.2012, 02:13 | |
Ответы с готовыми решениями:
76
Access violation. Выход за границы массива Access Violation при обращении к элементу массива Access violation при выводе массива через функцию Access Violation при повторном заполнении динамического массива |
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 03:10 [ТС] | 21 |
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 11:19 [ТС] | 23 |
Avazart, эм... Интересно)))
Ну ладно, пофиг на то, что в конце (после "789" - там вполне может ожидаться мусор), но вот почему в самом начале отсутствует "1df"?
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 11:22 [ТС] | 25 |
Avazart, да, в конце да. Но начало-то строки почему не записало?
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 14:45 [ТС] | 27 |
Avazart, все равно не понимаю... На последнем скрине Вы задали размерность 10 (для szString2) и ввели 10 символов - и прокатило. Хотя нулевой символ для szString2 не задавали.
П о ч е м у т а к п р о и с х о д и т? Может мне кто-нибудь это объяснить?
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 15:06 [ТС] | 29 |
Avazart,
Вот и я о чем: А все равно прокатило. Почему?
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 15:15 [ТС] | 30 |
Avazart, Dev-C++:
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 15:27 [ТС] | 32 |
Avazart,
Так а где же она находит этот символ, когда его нету? Задан массив из 10 символов, вводим все 10 (заполнили весь массив). Жмем ентер: \0 нифига не попал на 11ый, т.к. массив задан 10ью символами. Или по случайности все-таки нулевой символ (каким-то образом) оказывается после ввода строки szString2?
0
|
04.06.2012, 20:12 | 34 | |||||
http://programmersclub.ru/17/
1
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 22:03 [ТС] | 35 |
Avazart, да про это я знаю...
Все равно непонятно как-то Почему же срабатывало без нуль-терминатора... Видимо, этот вопрос останется неразгаданной загадкой
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
04.06.2012, 23:36 [ТС] | 37 |
Avazart, и даже случайно встретившийся нуль-терминатор сразу после введенной строки?!
0
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
|
05.06.2012, 00:10 [ТС] | 39 |
Avazart, но нашего случая тут нету. Так что будем считать, что это все мусор чудит.
0
|
05.06.2012, 00:16 | 40 |
Если убрать cin то получаем вполне ожидаемый результат (см скрин №1 который раньше).
0
|
05.06.2012, 00:16 | |
05.06.2012, 00:16 | |
Помогаю со студенческими работами здесь
40
Access Violation at address. при записи в StringGrid двумерного массива Ошибка 'Access violation at address 00403EF4' при вводе массива Ошибка (access violation) при обращении к элементу динамического массива структур Обращение к элементам массива порождает ошибку "Access violation" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |