• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Открытие файла

  • Автор темы godspeed
  • Дата начала
G

godspeed

будьте так любезны, взгляните на код.. дело в том, что в этом куске:

[codebox]int Shyfr(char* FileName)
{
FILE *src,*dest;
char *f;
f=new char[strlen(FileName)+1];
strcpy(f,FileName);
src=fopen(f,"r");
if (src==NULL)
{
printf("File %s not found.\n",FileName);
getch();
fclose(src);
return 1;
}
*RName='\0';
strcpy(RName,FileName);
char* x=strchr(RName,(int)'.');[/codebox]

файл FileName ни за что не хочет открываться.. его имя FileName сформировано в отдельной строке с выделенной памятью.. и во время всех предыдущих обращений к файлу окончание работы сопровождалось его корректным закрытием.... в чем может быть дело? ;)
 

Вложения

  • my_huff.cpp
    5,3 КБ · Просмотры: 482
E

European

Вот я только не могу понять зачем создавать новую переменную для пути файла. Открывайте fopen(FileName,"r") и все
 
G

godspeed

это конечно хорошо... но суть не изменилась никак.. все в том же месте.. все та же "непонятка"..=((
 
E

European

Падает у меня Ваш метод Traverse при вызове из GenerateCodes(). Разбираться почему нет желания. Если его закоментировать, то файл в Shyfr открывается нормально.
Посмотрите errno на предмет нахождения ошибки.
 
G

godspeed

извините, а вы не подскажите, как пользоваться errno? :huh:
 
D

Dimmuborgir

Бегло просмотрев код, заметил утечки памяти. Ни одного опреатора delete, к примеру здесь:

Код:
int Shyfr(char* FileName)
{
FILE *src,*dest;
char *f;
f=new char[strlen(FileName)+1];
......
 
D

Dimmuborgir

Код:
Codes[((int)this->character)-1]=new char[strlen(sh)+1];
очень меня настораживает эта строка...)
сразу скажу, запускать не пробовал. но чем то внутренним чувствую что далеко тут не все впорядке:
Код:
static string Codes[SIZE];
)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!