原因:程序运行的权限不够。
底层执行_wrename失败,_errno返回错误码是13(Permission denied)。
解决办法是以管理员权限启动。
类似的文件丢失、更名失败、文件访问失败都有可能是权限问题。
在vs、工程属性、连接linker里面有一个Manifest File项中,修改UAC Execution Level(UAC执行级别):为requireAdministrator (/level=‘requireAdministrator’)。
qt pro文件中可以如下:
win32{
QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
QMAKE_LFLAGS += /SUBSYSTEM:WINDOWS,\"5.01\"
}
exe也可以右键属性里面设置为默认管理员权限启动:属性,兼容性,更改所有用户的设置,以管理员身份运行此程序。