最近项目中调用库函数保存数据到磁盘,保存成功,但是发现写入磁盘会延时,导致看起来保存成功,但是突然断电后,发现数据写入磁盘不完整
解决方案
void FlushToDisk(const QString& fileName)
{
HANDLE phandle = CreateFile((LPCWSTR)(fileName.utf16()), GENERIC_READ|GENERIC_WRITE,
0, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
bool bRet = (bool)FlushFileBuffers(phandle);
CloseHandle(phandle);
}