Functions.FRead4 方法 | |
从文件中读取字符到已分配的缓冲区。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION FRead4(
ptrHandle AS IntPtr,
ptrBufferVar AS IntPtr,
dwBytes AS DWORD,
lAnsi AS LOGIC
) AS DWORD
public static uint FRead4(
IntPtr ptrHandle,
IntPtr ptrBufferVar,
uint dwBytes,
bool lAnsi
)
查看代码参数
- ptrHandle
- 类型:IntPtr
要读取的文件句柄。 - ptrBufferVar
- 类型:IntPtr
指向用于存储从指定文件读取的数据的已分配缓冲区的指针。
此变量的长度必须大于或等于 dwBytes。
- dwBytes
- 类型:UInt32
要读入缓冲区的字节数。 - lAnsi
- 类型:Boolean
如果为 FALSE,则进行 OEM 到 ANSI 的转换。
返回值
类型:
UInt32
成功读取的字节数。
返回值小于
dwBytes 或为 0 表示到达文件末尾或发生其他读取错误。可以使用 FError() 来确定具体错误。
备注
FRead4() 与 FRead3() 相同,只是它提供了执行 OEM 到 ANSI 转换的选项。
备注 提示: |
---|
这个函数是为了兼容性而包含的。我们不建议使用静态内存进行文件 I/O 操作。
我们建议您使用接受字节数组参数的函数重载。
|
示例
此示例在成功打开文件后使用 FRead4() 将 128 个字节读入缓冲区:
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 FRead4(ptrHandle, cBuffer, F_BLOCK, FALSE) != F_BLOCK
14 ? DOSErrString(FError())
15 RETURN FALSE
16 ENDIF
17 FClose(ptrHandle)
18 ENDIF
19 MemFree(cBuffer)
20 RETURN TRUE
参见