C++ q设置不同的结果
我正在使用QSettings尝试确定INI是否有效。(使用status()进行检查)我故意创建了一个无效的INI文件并将其加载。第一次调用代码时,它返回invalid,但每次调用之后,它都返回valid。这是我的代码中的错误吗?检查了您的代码,您需要在返回之前删除文件对象C++ q设置不同的结果,c++,qt,C++,Qt,我正在使用QSettings尝试确定INI是否有效。(使用status()进行检查)我故意创建了一个无效的INI文件并将其加载。第一次调用代码时,它返回invalid,但每次调用之后,它都返回valid。这是我的代码中的错误吗?检查了您的代码,您需要在返回之前删除文件对象 除此之外,您的代码使用QSettings::QSettings(文件名、格式)c'tor打开ini文件。该调用以函数QConfFile::fromName结束(在中实现)。正如我所读到的(有一些宏,因此我决定不遵循),如果文件
除此之外,您的代码使用
QSettings::QSettings(文件名、格式)
c'tor打开ini文件。该调用以函数QConfFile::fromName
结束(在中实现)。正如我所读到的(有一些宏,因此我决定不遵循),如果文件已经打开,则不会重新打开该文件(即,自上次以来,您没有删除该对象)。因此,第二次状态将正常。这是一个由某些全局状态引起的Qt错误。请注意,无论您是否调用QSettings对象上的delete
,结果都会有所不同,您应该这样做。以下是第一次跑步的简要总结:
NoError
qsettings.cpp
第1530行(Qt-4.6.2)对其进行解析qsettings.cpp
第1552行)NoError
qsettings.cpp
第1424行)NoError
——假定文件已正确解析你能粘贴你的代码和文件吗?是的…这是方法:文件是: