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

Отладчики - какая от них польза и как ими правильно пользоваться? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ребят, спасайте. Классы "Книга" и "Мануал" http://www.cyberforum.ru/cpp-beginners/thread1148645.html
Используя полиморфизм, необходимо описать класс для хранения соответствующих объектов и программу, выполняющую требуемые действия. Задача: На входе подается некоторое количество описаний книг...
C++ Функция с переменным количеством параметров Доброго времени суток! Я озадачился таким вопросом - как производится компиляция функций с переменным числом параметров? Компилятор создаёт экземпляры для каждого варианта количества параметров, или... http://www.cyberforum.ru/cpp-beginners/thread1148643.html
C++ Проект не содержит отладочной информации
..., хотите разрешить отладку и перестроить проект? И кнопочки ДА, Нет. Вот, что выдает мне Dev-C++ при попытке запустить отладку. Я, конечно, нажимаю ДА, он начинает компилить проект заново,...
Нужно удалить слова как это сделать? C++
Есть такой текст "for do while int void using while" нужно удалить слова "while" как это сделать?
C++ Окончание W и A в функциях http://www.cyberforum.ru/cpp-beginners/thread1148629.html
Привет. Объясните пожалуйста допустим: GetCurrentDirectoryW (Unicode) and GetCurrentDirectoryA (ANSI) - это понятно. А обычная GetCurrentDirectory() тогда что? И вообще окончание A означает ANSI...
C++ Вывод числа,через дробь Вот у меня такая задача: Написать программу вычисления суммы 1+1/2+1/3+...+1/n для заданного числа n. Результат представить в виде несократимой дроби p/q (p, q — натуральные).Решить задачу с помощью... подробнее

Показать сообщение отдельно
OrmaJever
9 / 9 / 0
Регистрация: 10.11.2011
Сообщений: 241
15.04.2014, 14:21  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Сначала добавил, потом все удалил
да да да, давно ещё ставил эту опцию не зная побочных эффектов)) Теперь стало куда понятнее, тыкает на строчку падения и информации стало больше. Спасибо.

Добавлено через 1 час 21 минуту
Что бы не создавать новую тему напишу сюда. Падает на функции realloc.
Я выделил память 6 байт (5 символов и 0х00), затем мне нужно добавить к строке ещё один символ, я пишу так
C++
1
2
3
str = (char *)realloc(str, length+2); // length содержит длину строки без \0, поэтому +2
str[length++] = c;
str[length] = '\0';
программа благополучно падает, и вот здесь у меня непонятки с realloc, после её использования то что было в str должно в ней и остаться? Ведь именно в этом её суть в отличии от malloc?
Вот такой код работает
C++
1
2
3
4
5
    char *newStr = (char *)realloc(str, length+2);
    memcpy(newStr, str, length);
    newStr[length++] = c;
    newStr[length] = '\0';
    str = newStr;
Но ведь зачем тогда realloc если можно снова выделить память и скопировать в неё всё? Или я что-то не так делаю?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru