Functions.FReadText3 方法 |
命名空间: XSharp.Core
FUNCTION FReadText3( ptrHandle AS IntPtr, ptrBufferVar AS BYTE[], dwBytes AS DWORD ) AS DWORD
提示: |
---|
X# 运行时中的低级文件 IO 函数在后台使用 .Net 文件流。 这意味着 FOpen() 和 FCreate() 返回的文件句柄不是'正常'的文件句柄,而是用于在运行时的流集合中找到底层流对象的唯一标识符。 这也意味着你不能使用 FRead() 和 FWrite() 这样的函数,这些函数不是在 X# 运行时中创建的文件句柄。 如果你想访问底层的 FileStream,你应该调用函数 FGetStream(IntPtr) |
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 := FOpen("temp.txt") 9 IF ptrHandle = F_ERROR 10 ? DOSErrString(FError()) 11 RETURN FALSE 12 ELSE 13 IF FReadText3(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