Копирует из файла в буфер по адресу 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
Copy Code | |
|---|---|
SET LIBRARY TO FREAD | |
Код C
Copy Code | |
|---|---|
#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