void __fastcall TForm1::BitBtn6Click(TObject *Sender)
{
OpenDialog1->Title = "Открытие файла";
if(OpenDialog1->Execute())
{
char *FileNameS = OpenDialog1->FileName.c_str();
if((Fs==fopen(FileNameS,"rb"))==NULL)
{
ShowMessage("Не возможно открыть файл!");
return;
}
Memo1->Clear();
nzap=0;
while(true)
{
fread(&STUD[nzap],sizeof(TStudent),1,Fs);
if(feof(Fs)) { break; }
Memo1->Lines->Add(STUD[nzap].FIO+" гр.: "+STUD[nzap].Group+" ср.: "+STUD[nzap].srb+" д.: "+STUD[nzap].Doxod);
}
}
}
Не могу открыть файл.
Код:
Выдает сообщение "Не могу открыть файл!". Во время выполнения программы, когда пытаюсь открыть файл (этот код) переменная FileNameS содержит "?????". Может кто знает в чем проблема? Заранее всем премного благодарен.
Цитата:
Originally posted by ШМИТ
Народ. В чем ошибка. Вот код
Выдает сообщение "Не могу открыть файл!". Во время выполнения программы, когда пытаюсь открыть файл (этот код) переменная FileNameS содержит "?????". Может кто знает в чем проблема? Заранее всем премного благодарен.
Народ. В чем ошибка. Вот код
Код:
char *FileNameS = OpenDialog1->FileName.c_str();
}
}
Выдает сообщение "Не могу открыть файл!". Во время выполнения программы, когда пытаюсь открыть файл (этот код) переменная FileNameS содержит "?????". Может кто знает в чем проблема? Заранее всем премного благодарен.
Код:
char *FileNameS = new char(MAX_PATH);
if(OpenDialog1->FileName.Length() < MAX_PATH)
strcpy(FileNameS,OpenDialog1->FileName.c_str());
if(OpenDialog1->FileName.Length() < MAX_PATH)
strcpy(FileNameS,OpenDialog1->FileName.c_str());
Цитата:
Originally posted by kot_
Код:
char *FileNameS = new char(MAX_PATH);
if(OpenDialog1->FileName.Length() < MAX_PATH)
strcpy(FileNameS,OpenDialog1->FileName.c_str());
if(OpenDialog1->FileName.Length() < MAX_PATH)
strcpy(FileNameS,OpenDialog1->FileName.c_str());
Код:
if((Fs==fopen(OpenDialog1->FileName.c_str(), "rb"))==NULL)
Цитата:
Originally posted by Rebbit
Код:
if((Fs==fopen(OpenDialog1->FileName.c_str(), "rb"))==NULL)
Хороший язык С/С++, вот только не надо лепить всё в одну строку, и тогда не будет проблем из-за нечитабельности.
Код:
Fs [COLOR=red]=[/COLOR] fopen(OpenDialog1->FileName.c_str(), "rb");
if(Fs == NULL)
if(Fs == NULL)
Собственно, красным выделил то место, где была ошибка.