0

是否可以使用更改符号链接的内容Qt

如果链接名称文件路径已经存在,则静态QFile::link和非静态都返回。false

我只想重新定位符号链接。的类似物ln -sf,但跨平台。

4

1 回答 1

1

简短的回答:没有。

引用文档

该函数不会覆盖文件系统中已经存在的实体;在这种情况下,link() 将返回 false 并将 error() 设置为返回 RenameError。

解决方案相当简单:首先明确删除链接,例如QFile::remove()链接上使用,然后QFile::link()用于目标文件(正如您已经做过的那样)。

顺便说一句,ln -f有或没有-s除了调用unlink(). 这可以在BusyBox 源代码(第 128 行)中方便地看到,而在GNU coreutils中则更加模糊。

于 2017-12-18T12:20:10.887 回答