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

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

godspeed

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

[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 сформировано в отдельной строке с выделенной памятью.. и во время всех предыдущих обращений к файлу окончание работы сопровождалось его корректным закрытием.... в чем может быть дело? ;)
 

Вложения

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

godspeed

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

godspeed

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

Dimmuborgir

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

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

Dimmuborgir

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