Копирует из файла в буфер по адресу buffer ровно length байт.
unsigned int _FRead(FCHAN chan, char FAR *buffer, int length) FCHAN chan; /* Канал файла-источника. */ char FAR *buffer; /* Адрес буфера. */ int length; /* исло копируемых байт. */ |
Примечания
_FRead( ) не добавляет признак завершения в конец записанных в буфер данных. Никакого преобразования записываемых данных не производится. _FRead( ) возвращает число прочитанных байтов.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере создается тестовый файл и в него заносится текст. Затем предпринимается попытка прочитать из файла 32 байта с помощью _FRead( ).
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO FREAD |
Код C
![]() | |
---|---|
#include <pro_ext.h> #define BUFFSIZE 32 static char buffer[BUFFSIZE]; FAR Example(ParamBlk FAR *parm) { FCHAN fchan; int bytesRead; fchan = _FCreate("temp.tmp", FC_NORMAL); _FPuts(fchan, "Hello, world."); _FPuts(fchan, "Hello, world."); _FPuts(fchan, "Hello, world."); _FPuts(fchan, "Hello, world."); _FPuts(fchan, "Hello, world."); _FSeek(fchan, 0, FS_FROMBOF); bytesRead = _FRead(fchan, buffer, BUFFSIZE - 1); buffer[bytesRead] = '\0'; _PutStr(buffer); _FClose(fchan); } FoxInfo myFoxInfo[] = { {"FREAD", (FPFI) Example, CALLONLOAD, ""}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |
Смотрите также
Справочное руководство
Процедура библиотеки API _FGets( )Процедура библиотеки API _FSeek( )
Прочие ресурсы
Конструкции библиотеки APIДоступ к API Visual FoxPro