是否可以使用更改符号链接的内容Qt
?
如果链接名称文件路径已经存在,则静态QFile::link
和非静态都返回。false
我只想重新定位符号链接。的类似物ln -sf
,但跨平台。
简短的回答:没有。
引用文档:
该函数不会覆盖文件系统中已经存在的实体;在这种情况下,link() 将返回 false 并将 error() 设置为返回 RenameError。
解决方案相当简单:首先明确删除链接,例如QFile::remove()
在链接上使用,然后QFile::link()
用于目标文件(正如您已经做过的那样)。
顺便说一句,ln -f
有或没有-s
除了调用unlink()
. 这可以在BusyBox 源代码(第 128 行)中方便地看到,而在GNU coreutils中则更加模糊。