FRead Function (IntPtr, IntPtr, DWord) | |
Read characters from a file into an allocated buffer.
Namespace:
XSharp.RT
Assembly:
XSharp.RT (in XSharp.RT.dll) Version: 2.19
Syntax FUNCTION FRead(
ptrHandle AS IntPtr,
ptrBufferVar AS IntPtr,
dwBytes AS DWORD
) AS DWORD
public static uint FRead(
IntPtr ptrHandle,
IntPtr ptrBufferVar,
uint dwBytes
)
Request Example
View SourceParameters
- ptrHandle
- Type: IntPtr
The handle of the file to read from. - ptrBufferVar
- Type: IntPtr
Pointer to an allocated buffer used to store data read from the specified file.
The length of this variable must be greater than or equal to dwBytes.
- dwBytes
- Type: DWord
The number of bytes to read into the buffer.
Return Value
Type:
DWord
The number of bytes successfully read.
A return value less than
dwBytes or 0 indicates end-of-file or some other read error. FError() can be used to determine the specific error.
Remarks
FRead3() is the same as FRead(), except that the name of the buffer variable is a pointer and is not passed by reference.
See FRead() for details.
This function is assumed to handle raw binary data and is not dependent upon the status of SetAnsi(). FReadText() and FRead4(), on the other hand, are dependent upon SetAnsi().
Remarks Tip |
---|
This function is included for compatibility. We do not recomment using static memory for file i/o operations.
We recommend that you use the function overload that takes a byte array parameter in stead.
|
Examples
This example uses FRead3() after successfully opening a file to read 128 bytes into a buffer area:
1DEFINE F_BLOCK := 128
2Function Start()
3 LOCAL cBuffer AS PTR
4 cBuffer := MemAlloc(F_BLOCK)
5 IF cBuffer = NULL PTR
6 RETURN FALSE
7 ENDIF
8 ptrHandle := FOpen2("temp.txt", FO_READ)
9 IF ptrHandle = F_ERROR
10 ? DOSErrString(FError())
11 RETURN FALSE
12 ELSE
13 IF FRead3(ptrHandle, cBuffer, F_BLOCK) <paramref name="" /> F_BLOCK
14 ? DOSErrString(FError())
15 RETURN FALSE
16 ENDIF
17 FClose(ptrHandle)
18 ENDIF
19 MemFree(cBuffer)
20 RETURN TRUE
See Also