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
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 08.12.2009, 21:28
InFlame
Участник форума
Регистрация: 27.10.2008
Сообщений: 215
Провел на форуме:
810079

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

Цитата:
Сообщение от POS_troi  
вся проблема тут, ибо по условию "i<3" ты в результате получаеш 4!!! (0,1,2,3) а четвертую ячейку массива она не может высосать из воздуха, сделай условие "i<2".

Компилил в мозгах, могу ошибаться но врятли.
Всё там правильно, потому что в цикле стоит условие "меньше", а не "меньше-равно." Да и суть не в этом. Я искусственно удаляю второй файл и на нём программа вылетает, а надо чтобы продолжала работу.

Последний раз редактировалось InFlame; 08.12.2009 в 21:32..
 
Ответить с цитированием

  #2  
Старый 08.12.2009, 21:36
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме:
2823587

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

Выложи весь код работы с файлами так ниче не понятно чё ты там делаеш, как удаляеш. В отладчике смотрел?
 
Ответить с цитированием

  #3  
Старый 08.12.2009, 21:46
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


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

Емае, ну для кого отладчик придумали то? посмотри там на какой ф-ции вылетает и с какими параметрами.
 
Ответить с цитированием

  #4  
Старый 08.12.2009, 21:59
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


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

Цитата:
Да и суть не в этом. Я искусственно удаляю второй файл и на нём программа вылетает
Используя массив в определении fopen ты делаеш себе грабли (это не глюк - это фишка и доволи подробно опианная в WWW).

Проверяй наличие файлов перед циклом, твоя ошибка не так в коде как в реализации идееи - не стой стороны зашел.

i<3 - протупил, не о том думал =/

Последний раз редактировалось POS_troi; 08.12.2009 в 22:10..
 
Ответить с цитированием

  #5  
Старый 09.12.2009, 09:54
winterfrost
Познающий
Регистрация: 18.08.2008
Сообщений: 45
Провел на форуме:
418790

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

fclose(fp);
- если файл не открылся, мб и не надо его закрывать? =)

п.с. фигурной скобки закрывающей не хватает одной, надеюсь она там дальше у тебя есть, и отступ после иф не соблюдён почему-то

Последний раз редактировалось winterfrost; 09.12.2009 в 09:59..
 
Ответить с цитированием

  #6  
Старый 09.12.2009, 10:29
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме:
2823587

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

Цитата:
Сообщение от winterfrost  
fclose(fp);
- если файл не открылся, мб и не надо его закрывать? =)
В этом ты прав)

Цитата:
The fopen() function opens a file indicated by fname and returns a stream associated with that file. mode is used to determine how the file will be treated (i.e. for input, output, etc).

If there is an error, fopen() returns NULL.
Если файл не открыт то он пытается закрыть указатель на адрес файла который равен 0 поэтому и получает ошибку сегментации
 
Ответить с цитированием

  #7  
Старый 09.12.2009, 11:18
winterfrost
Познающий
Регистрация: 18.08.2008
Сообщений: 45
Провел на форуме:
418790

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

Код:
if ((fp=fopen(files[i],"r+"))==NULL) {
    perror("fopen");
    i++;
    continue; // <--
}
попробуй добавить continue, что-бы перейти к следующей интерации цикла
 
Ответить с цитированием

  #8  
Старый 09.12.2009, 11:41
InFlame
Участник форума
Регистрация: 27.10.2008
Сообщений: 215
Провел на форуме:
810079

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

Всем спасибо, исправил.
 
Ответить с цитированием

  #9  
Старый 09.12.2009, 17:03
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме:
1510937

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

кто в курсе как проактивно защитить файл от удаления в системе windows ?

типа LockFileEx, ZwLockFileEx, NtLockFileEx
 
Ответить с цитированием

  #10  
Старый 09.12.2009, 17:13
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме:
424387

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

Цитата:
кто в курсе как проактивно защитить файл от удаления в системе windows ? типа LockFileEx, ZwLockFileEx, NtLockFileEx
Удаление файла сводиться к отсылке IRP_MJ_SET_INFORMATION c FileInformationClass = FileDispositionInformation.
Вывод: писать драйвер фильтр фс и отклонять такие irp для нужного файла.

Последний раз редактировалось _antony; 09.12.2009 в 17:15..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по 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