C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Подскажите пожалуйста
Андрей
  Отправлено: 30.12.2003, 21:48


Не зарегистрирован







Подскажите пожалуйста.
Почему в CBuilder 5 не работают стандартные ф-ции фйалового ввода/вывода (известные еще по ДОС), такие как fgets, fscanf и т.д. При компилляции и сборке проекта никаких ошибок или сообщений не выдается. Программа затыкается во время выполнения на указанных ф-циях, а также при попытки узнать дескриптор файла (соответственно через ф-цию fileno).
В итоге пришлось отказаться от такого варианта чтения строк (и т.д.) из файла и перейти на fstream. У этой штуки не работает .eof().
Т.е. реально код

ftream fin(file_name, mode); //file_name — имя файла; mode — режим
fin.seekp(0);
while(!fin.eof())
{
fin.getline(buf,100);
}

Не работает. Т.е. не отрабатывает конец файла. Что за ерунда никак не разберусь. Может кто-нибудь подскажет, где зарыт барсук....
Заранее спасибо.
Георгий
Отправлено: 30.12.2003, 22:35


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



этот код прекрасно работает:
CODE
fstream fin("d://test.txt",ios::in);
char b[100];
this->Memo1->Lines->Clear();
while( !fin.eof() )
       {
       fin.getline(b,sizeof(b));
       this->Memo1->Lines->Add(b);
       }

когда разберётесь, что у Вас не пашет, то скажите.

Вернуться в Вопросы программирования в C++Builder