Форум программистов, компьютерный форум CyberForum.ru

Точка останова(повреждение кучи) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проект - "undefined reference to ." http://www.cyberforum.ru/cpp-beginners/thread1062862.html
Добрый день, и всех с наступившим Новым годом! Очень нужна ваша помощь. Вообще говоря, я сейчас изучаю OpenGL, и ошибка возникла при попытке скомпилировать проект из книжки "OpenGl - Superbible", но ошибка, мне кажется, не имеет никакого отношения к OpenGL, а к сборке проекта на С в целом. Я гуглил и искал, но проблему так и не удалось решить. У меня есть программа main.c, в ней...
C++ сделать любую прогу с булевыми функциями Здравствуйте, ребят помогите пожалуйста сделать любую прогу с булевыми функциями с выводом таблиц со статьей о проге, заранее благодарен!!! http://www.cyberforum.ru/cpp-beginners/thread1062851.html
C++ Сортировка в строках массива по данным другого
Здравствуйте, вот код k=0; max=0; for (q=1;q<4;q++) for (int i=0;i<n;i++) { for (int j=i;j<n;j++) if (min==-1) continue; else
Кодирование/Декодирование текста C++
Создать приложение с графическим интерфейсом в любой визуальной среде разработки, выполняющее следующие действия: 1) Пользователь вводит текст. Количество символов не ограничивается. Допускаются буквы кириллицы и прочие видимые знаки. 2) Выполняется кодирование символов в кодировку, заданную индивидуальным вариантом задания. 3) Закодированный текст выводится в двоичном виде на...
C++ Где взять учебник, в котором описывается работа с классами http://www.cyberforum.ru/cpp-beginners/thread1062821.html
хотел сначала научиться классам, но не знаю как - в ютубе только основа и без продолжения, а мне нужен учебник или что-то в этом роде, чтобы прям от начало и до конца можно было учить классы. Заранее благодарю!
C++ Все по учебнику а программа выдает ошибку, посмотрите пожалуйста #include <iostream> using namespace std; void simon (int); simon () int main () { подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.01.2014, 19:06     Точка останова(повреждение кучи)
Цитата Сообщение от Mukue Посмотреть сообщение
Тут после выполнения у меня в arr2 помимо строчки откуда то появляется еще мусор, т.е. выделили память под 80 символов, заняли не все, а остальные под что попало.
Мусор там и был, это не важно. Важно, чтобы Си-строка заканчивалась '\0'. Все функции, которые работают с такими строками, понимают этот символ как конец строки. Если строка создаётся вручную (не с помощью функций чтения, которые сами добавляют '\0' в конец считанной строки), то нужно и вручную добавлять '\0' в конец строки.

Добавлено через 4 минуты
Потом, вот это неправильно:
C++
1
2
3
4
5
6
7
char arr2[80], *p;
p=arr2;
for (int i=0; i<indexr;i++)
{
    p[i]=arr[i];
}
return p;
arr создается не в динамической памяти, а локально (на стеке), значит, после выхода из функции, его уже нет. Возвращать указатель (p) на локально созданный объект - ошибка.

Добавлено через 3 минуты
C++
1
while(in.getline(str, 79)!=NULL)
Сравнение с NULL тут лишнее. Можно просто:
C++
1
while(in.getline(str, 80))
И не нужно, в параметрах getline(), количество считанных символов уменьшать на 1, getline() сама это делает.
 
Текущее время: 08:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru