#1 27.05.07 12:38
непонятный результат
Код::
FILE *Open_File(char fname[])
{
FILE *f;
char agree[LENGTH];
while((f=fopen(fname, "rb+"))==NULL)
{
puts("File was not found!");
puts("Do you want to creat a new file (yes/no)?");
gets(agree);
if(strcmp(agree, "yes")==0)
{ f=fopen(fname, "wb+"); break; }
puts("Enter name of file:");
gets(fname);
}
return f;
}запускаю в первый раз и создаю новый файл. например- с:\test.dat
запускаю в последующие разы и при правильном наборе имени файла и пути к нему функция его открывает. А при неправильном - спрашивает согласие на создание в этом месте нового файла, если я ошибся случайно и не соглашаюсь, то вводя далее уже правильное имя и путь к файлу, функция уже его не находит. почему?
Offline
#3 27.05.07 13:33
Re: непонятный результат
Дональдак написал(а):
почему?
Потому что посмотри на функцию свою.
Код: c:
FILE *open_file(char fname[]) { FILE *f; char agree; if((f=fopen(fname, "rb+"))==NULL) { puts("File wasn\'t found!"); puts("Do you want to creat a new file (y/n)?"); scanf("%s", &agree); if(agree == 'y') { puts("Enter name of file:"); scanf("%s", fname); f=fopen(fname, "wb+"); } } return f; }
Попробуй так.
Offline

