点击或拖拽改变大小

Functions.FFlush 方法 (IntPtr, Boolean)

X#
将使用低级文件函数打开的文件刷新到磁盘。

命名空间:  XSharp.Core
程序集:  XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法
 FUNCTION FFlush(
	ptrHandle AS IntPtr,
	lCommit AS LOGIC
) AS LOGIC
查看代码

参数

ptrHandle
类型:IntPtr
要刷新的打开文件的句柄。
lCommit
类型:Boolean
当此参数传入 TRUE 时,所有中间缓冲区也会被刷新。

返回值

类型:Boolean
备注
FFlush() 将缓冲区写入磁盘,从而释放这些缓冲区使用的内存。
如果在多用户或多任务环境中共享文件,FFlush() 允许每个用户看到文件的最新内容。 通过从内存中刷新数据,FFlush() 还可以防止系统崩溃可能导致的数据丢失。 使用 2 个参数调用该方法,且第二个参数值为 TRUE 时,将显著降低应用程序的速度! 使用 1 个参数调用的效果与调用 FFlush() 并为第二个参数传入 FALSE 值相同。
备注
提示 提示:
X# 运行时中的低级文件 IO 函数在后台使用 .Net 文件流。
这意味着 FOpen() 和 FCreate() 返回的文件句柄不是'正常'的文件句柄,而是用于在运行时的流集合中找到底层流对象的唯一标识符。 这也意味着你不能使用 FRead() 和 FWrite() 这样的函数,这些函数不是在 X# 运行时中创建的文件句柄。
如果你想访问底层的 FileStream,你应该调用函数 FGetStream(IntPtr)
示例
此示例使用 FFlush() 在等待按键后自动刷新数据:
X#
1ptrHandle := FOpen2("docs.txt", ;
2        FO_READWRITE + FO_SHARED)
3IF ptrHandle != F_ERROR
4    FWrite(ptrHandle, Space(100))    
5    nKey := Inkey(50)
6    FFlush(ptrHandle)            // 保存数据
7ENDIF
参见