Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не могу открыть файл.

7.9K
28 ноября 2005 года
ШМИТ
47 / / 17.10.2005
Народ. В чем ошибка. Вот код
Код:
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 содержит "?????". Может кто знает в чем проблема? Заранее всем премного благодарен.
1
28 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by ШМИТ
Народ. В чем ошибка. Вот код
 
Код:
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());
276
28 ноября 2005 года
Rebbit
1.1K / / 01.08.2005
Цитата:
Originally posted by kot_
 
Код:
char *FileNameS = new char(MAX_PATH);
if(OpenDialog1->FileName.Length() < MAX_PATH)
strcpy(FileNameS,OpenDialog1->FileName.c_str());


 
Код:
if((Fs==fopen(OpenDialog1->FileName.c_str(), "rb"))==NULL)
3
28 ноября 2005 года
Green
4.8K / / 20.01.2000
Цитата:
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)

Собственно, красным выделил то место, где была ошибка.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог