rename返回值为-1的原因有哪些?

rename返回值为-1的原因有哪些?
文件已经关闭了,可是rename返回值还是0
c语言

rename返回值为-1代表重命名失败,可能的原因包括文件不存在、权限不足、文件被占用等。
即使文件已经被关闭,如果重命名操作失败,返回值仍然为-1。
返回值0表示操作成功的意思。

可以用GetLastError获取一下失败的原因,就知道为什麽无法改名了

文件名不存在,没有权限,修改的文件名不合法,文件被别的程序正在占用

可能原因有:拒绝对包含旧的路径或新的目录授予写权限,或者旧路径是一个目录并且不允许授予写权限;某个进程正在使用的目录(可能作为当前工作目录,或作为根目录,或因为它打开供读取)或系统正在使用的目录(例如挂载点) ,而系统认为这是一个错误。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632