我需要在Windows上移植一个应用程序。最初该应用程序是在Linux上编写的,它使用Linux特定的命令。我用sync()堆叠在一个地方。 Windows没有这样的实用程序。代码看起来像
QSettings *data
...
data->setValue("some_var", var);
data->sync();
sync();
这是C ++文件的和平。我不懂C ++。它不是由我写的。我用其他语言。那么我如何才能在Windows上运行它或者如何重写该部分呢?
答案 0 :(得分:2)
基本上,您可以忽略系统特定的sync()
调用。即使在Linux上也不需要它。 QSettings
为你做对了。
答案 1 :(得分:1)
如果您可以访问已打开的所有文件,我相信在Linux上调用sync()
等同于覆盖所有文件句柄并在Windows上刷新它们,可能是使用{{3 }}
编辑1
如果您使用的是C文件界面(因为您来自Linux),FlushFileBuffers()是您的朋友(您仍然需要访问所有打开的文件。)
编辑2
我看到您可以使用fflush()来电。不确定它与Linux的sync()
的相似性,但他们似乎做了同样的事情。我对使用以下划线开头的函数也有点谨慎。