HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1001  
Старый 20.04.2008, 16:14
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

Может так?
Код:
strcpy(message_buf[i], argv[i]);

и вот этого, я думаю будет достаточно:
Код:
 delete []message_buf;

Последний раз редактировалось criz; 20.04.2008 в 16:17..
 
Ответить с цитированием

  #1002  
Старый 20.04.2008, 16:38
ZipaCna
Познающий
Регистрация: 29.02.2008
Сообщений: 66
Провел на форуме:
139469

Репутация: 33
По умолчанию

Цитата:
Сообщение от criz  
Может так?
Код:
strcpy(message_buf[i], argv[i]);

и вот этого, я думаю будет достаточно:
Код:
 delete []message_buf;

criz, извени конечно, но ты не прав...

strcpy(message_buf[i], argv[i]) - это опасная конструкция и она подвержена переполнению, так как не проверяет входящую строку на длинну...так что надо юзать именно strncpy.

delete []message_buf; - одного этого не достаточно, надо очиститть память и для каждого элемента...

Последний раз редактировалось ZipaCna; 20.04.2008 в 16:42..
 
Ответить с цитированием

  #1003  
Старый 20.04.2008, 17:15
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

ясно
Просто ты указываешь
Код:
sizeof(argv[argc])
, а это 4 байта. Вот я и решил не ограничиваться 4мя байтами
 
Ответить с цитированием

  #1004  
Старый 20.04.2008, 17:37
ZipaCna
Познающий
Регистрация: 29.02.2008
Сообщений: 66
Провел на форуме:
139469

Репутация: 33
По умолчанию

Цитата:
Сообщение от criz  
ясно
Просто ты указываешь
Код:
sizeof(argv[argc])
, а это 4 байта. Вот я и решил не ограничиваться 4мя байтами
кстате да спасибо , тут тоже ошибка надо было sizeof(argv[i])

но весь трабл не в этом ..... =((


при выделении памяти под элименты масива не зависимо от того что я передам в argv код

for(int u=0;argv[u] != NULL;u++)message_buf[u]=new char[sizeof(argv[u])];

выделяет по 4 байта.... попробуйте собрать этот исходник под виндой и скажите проблема такая же??

Последний раз редактировалось ZipaCna; 20.04.2008 в 17:40..
 
Ответить с цитированием

  #1005  
Старый 20.04.2008, 17:59
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

argv[i] - указатель. sizeof от указателя = 4. Юзай strlen().
 
Ответить с цитированием

  #1006  
Старый 20.04.2008, 20:01
ZipaCna
Познающий
Регистрация: 29.02.2008
Сообщений: 66
Провел на форуме:
139469

Репутация: 33
По умолчанию

Цитата:
Сообщение от Forcer  
argv[i] - указатель. sizeof от указателя = 4. Юзай strlen().
Спасибо ошибку понял. Все работает.
 
Ответить с цитированием

  #1007  
Старый 21.04.2008, 01:01
Loker
Познающий
Регистрация: 25.10.2007
Сообщений: 69
Провел на форуме:
348179

Репутация: 52
По умолчанию

Ребят помогите.
Нужен любой код бинарного дерева ( чтоб добавлять, удалять редактировать.) На С++.
ПРосто любой рабочий, обыскал моно сказать все и ни как если есть у кого вылоите плз.
 
Ответить с цитированием

  #1008  
Старый 21.04.2008, 01:40
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

_http://forum.vingrad.ru/forum/s/34d46f3f9f3c02ea59529320070694a3/topic-99013/anchor-entry1469467/0.html
_http://programmersforum.ru/showthread.php?p=92241
_http://alglib.sources.ru/sorting/heapsort.php
_http://forum.codenet.ru/showthread.php?t=44506 (паскаль, на всякий случай)
 
Ответить с цитированием

  #1009  
Старый 21.04.2008, 01:56
reversys
Участник форума
Регистрация: 22.11.2007
Сообщений: 159
Провел на форуме:
732568

Репутация: 156
По умолчанию

да set в STL используй!
 
Ответить с цитированием

  #1010  
Старый 21.04.2008, 22:38
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

reversys
насколько я понимаю, ему нужно для обучения а не для работы. Или ты ему для обучения предлагаешь код этого stl-кого сета взять?
Loker
Если очень нужно, в среду могу написать, если будет время. А вообще - посмотри по ссылкам которые дали.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ