Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
-4 / 1 / 0
Регистрация: 24.10.2018
Сообщений: 23
1

Run-Time Check Failure #2 - Stack around the variable 'fish2' was corrupted

12.05.2019, 22:15. Показов 2538. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
while (str1[size1] != '\0') {
        str1[size1] = ' ';
        size1++;
    }
Вот часть кода. Этот цикл должен найти длину строки и заполнить его пробелами. Но проблема в том что из-за строки "str1[size1] = ' ';" видает исключение в конце программы "Run-Time Check Failure #2 - Stack around the variable 'fish2' was corrupted.". Также если смотреть в переменную size1, в ней постоянно число около 300 (что намного больше чем должно быть в программе). В чём проблема? Кажется этот цикл сначала убирает '\0' а потом идёт заново. Если это так, то почему?
При этом программа работает правильно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2019, 22:15
Ответы с готовыми решениями:

Run-Time Check Failure #2 - Stack around the variable 'c' was corrupted
Добрый день, уважаемые представители форума. При решении простейшей задачи возникла такая ошибка:...

Run-Time Check Failure #2 - Stack around the variable 'A' was corrupted
Определить класс вектор (одномерный числовой массив). В класс включить конструктор для определения...

Run-Time Check Failure #2 - Stack around the variable 'n' was corrupted
При вводе значение более трёх символов (это значение конечно можно регулировать) появляется...

Run-Time Check Failure #2 - Stack around the variable '.' was corrupted
Сделал "меню" для работы со своим стеком. При вводе "0" выходит ошибка "Run-Time Check Failure #2 -...

23
6125 / 3475 / 1411
Регистрация: 07.02.2019
Сообщений: 8,826
12.05.2019, 23:43 21
Author24 — интернет-сервис помощи студентам
Yetty, будет

Добавлено через 1 минуту
Цитата Сообщение от kriks_ Посмотреть сообщение
можете объяснить зачем в цикле (*str2)?
это аналогично *str2 != 0
0
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
12.05.2019, 23:46 22
Цитата Сообщение от kriks_ Посмотреть сообщение
zayats80888, oleg-m1973, если есть время, можете объяснить зачем в цикле (*str2)?
Это while (*str2 != '\0')

Аналог:
C++
1
2
for(size_t i =0; str2[i] != 0; ++i)
    str1[i] = str2[i]
0
-4 / 1 / 0
Регистрация: 24.10.2018
Сообщений: 23
12.05.2019, 23:52  [ТС] 23
oleg-m1973, последний вопрос. То есть, это как с переменной bool, и если написать (!*str2) это уже будет означать ровно нулю? Если это так, то я думал что так работает только с bool.
0
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
13.05.2019, 00:16 24
Да. В си для всех числа и указателей 0/null == false, все остальное - true
0
13.05.2019, 00:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2019, 00:16
Помогаю со студенческими работами здесь

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.
Здравствуйте. Пишу две функции: ввод и вывод целочисленного массива, в конце программы вылетает...

Run-Time Check Failure #2 - Stack around the variable 'C' was corrupted
#include <iostream> #include <iomanip> using namespace std; int main() { const int n=10;...

Run-Time Check Failure #2 - Stack around the variable 'dt' was corrupted
Я понимаю что ошибка говорит о том что где-то вышел за диапазон массива, я перепроверил все циклы,...

Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted
Добрый день подскажите что это означает и как исправить данное сообщение Run-Time Check Failure #2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru