我需要在Windows上移植一个应用程序。最初,该应用程序是在Linux上编写的,它使用Linux特定的命令。我用sync()堆放在一个地方。Windows没有这样的效用。代码看起来就像
QSettings *data
...
data->setValue("some_var", var);
data->sync();
sync();这是一个和平的C++文件。我不知道C++。不是我写的。我用其他语言。那么,我如何使它在Windows上工作,或者如何重写该部分呢?
发布于 2013-10-31 11:47:33
如果您可以访问您打开的所有文件,我相信在Linux上调用sync()等同于在FlushFileBuffers()上查看所有文件句柄并刷新它们。
编辑1
如果您使用的是C文件接口(因为您来自Linux),那么弗卢什()是您的朋友(您仍然需要访问所有打开的文件)。
编辑2
我看到有一个flushall()电话你可以使用。不确定它是否与Linux的sync()相似,但它们一般都是这样做的。对于使用以下划线开头的函数,我也有点谨慎。
发布于 2013-10-31 21:01:31
基本上,您可以忽略特定于系统的sync()调用。这是不需要的,即使在linux上也是如此。QSettings为你做了正确的事情。
https://stackoverflow.com/questions/19704881
复制相似问题