Functions.FWrite 方法 (IntPtr, String, UInt32) |
命名空间: XSharp.Core
提示: |
---|
X# 运行时中的低级文件 IO 函数在后台使用 .Net 文件流。 这意味着 FOpen() 和 FCreate() 返回的文件句柄不是'正常'的文件句柄,而是用于在运行时的流集合中找到底层流对象的唯一标识符。 这也意味着你不能使用 FRead() 和 FWrite() 这样的函数,这些函数不是在 X# 运行时中创建的文件句柄。 如果你想访问底层的 FileStream,你应该调用函数 FGetStream(IntPtr) |
1DEFINE F_BLOCK := 512 2... 3cBuffer := Space(F_BLOCK) 4nInfile := FOpen2("temp.txt", FO_READ) 5nOutfile := FCreate("newfile.txt", FC_NORMAL) 6lDone := FALSE 7DO WHILE !lDone 8 nBytesRead := FRead(nInfile, @cBuffer,; 9 F_BLOCK) 10 IF FWrite(nOutfile, cBuffer) < SLen(cBuffer) 11 ? DOSErrString(FError()) 12 lDone := TRUE 13 ELSE 14 lDone := (nBytesRead = 0) 15 ENDIF 16ENDDO 17FClose(nInfile) 18FClose(nOutfile)