|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.11.2009, 19:18 | #1 |
Пользователь
Регистрация: 08.11.2009
Сообщений: 16
|
помогите, пожалуйста, с удалением массива char в с++!
есть следующий кусок кода:
case 2: { char* keyword=new char[300]; cout<<"Enter the key word: "; cin.ignore(); cin.getline(keyword,strlen(keyword) ); key=GetKey(keyword,keylng); delete [] keyword; break; } программа вываливается на строке delete [] keyword не представляю, что это может быть, уже все перепробовала помогите, плиз... |
08.11.2009, 21:29 | #2 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
1. cin.getline(keyword,strlen(keyword) );
вместо strlen нужно писать sizeof(keyword), ибо второй параметр этой функции указывает на максимальный размер буфера для строки, а strlen выдает длину строки (кол-во символов до первого завершающего нулла). 2. функция GetKey не изменяет переменную keyword? если изменяет, необходимо быть уверенным, что не происходит переполнения строкового буфера
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
09.11.2009, 00:50 | #3 |
Пользователь
Регистрация: 08.11.2009
Сообщений: 16
|
Спасибо огромное!
да, действительно, с sizeof все работает))))) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с удалением пробелов при вводе данных в форму | Андрей79 | PHP | 1 | 22.09.2009 00:05 |
ПОМОГИТЕ с удалением | малыша | Софт | 3 | 15.07.2009 23:43 |
Я вам помогу, пожалуйста! Помогу удалением темы :) | Alar | Помощь студентам | 34 | 24.05.2009 14:18 |
Конец числового массива char | Байт | Общие вопросы C/C++ | 4 | 04.02.2009 21:19 |
Возвращение массива символов char | ActioNs | Общие вопросы C/C++ | 3 | 10.01.2009 02:33 |