Она находится в файле "sysutils.hpp" (...\Borland\CBuilder6\Include\Vcl )Absurd писал(а):Что за "FileRead"?
extern PACKAGE int __fastcall FileRead(int Handle, void *Buffer, unsigned Count);
входит в namespace Sysutils;
возвращает целое кол-во прочитанных байтов.
там же находятся типовые ф-ии для открытия/создания/записи/поиска или определения существования файла. Сам я пока не полностью изучил файл, поэтому пользуюсь только этими ф-иями.
Absurd писал(а): Почему не fread() / fwrite() / feof() ?
Знаю про операции безбуфферного чтения файлов _read() из <io.h> и ReadFile() из <windows.h>.
На мой взгляд эта функция удобна:
-возвращает целое кол-во прочитанных байтов.
( int ret;
ret=FileRead(fr, &buff[0], n); )
-В качестве идетификатора файла используется int, а не FILE *.
-является внешней и не требует прямого включения в исходник, файла "sysutils.hpp".
-Позволяет считывать определённое кол-во байтов( можно задать переменной).
-вместе с ней можно использовать :
extern PACKAGE int __fastcall FileOpen(const AnsiString FileName, unsigned Mode);
что позволяет, как я уже говорил, удобно "налету" открывать нужный файл.
(int fr; fr=FileOpen("File.txt", fmOpenRead) - далее fr можно использовать, как дескриптор файла.)
не удобна:
- этот самый void *Buffer, с которым я не мог разобраться.
- использование feof(), eof() - не дает никакого результата! А как ещё-то можно определить конец файла?
а спомощью fread() / fwrite() / feof() нельзя "налету" открывать файл ( Прошу исправить меня если это не так ) , что при применении GUI интерфейса довольно плохо.