更改符号链接的目标而不删除

时间:2017-12-18 11:01:41

标签: qt symlink qfile qfileinfo

是否可以使用QFile::link更改符号链接的内容?

如果链接名文件路径已经存在,则

静态false和非静态的都返回ln -sf

我只想重新定位符号链接。类似于product = int(cupcake[k]) / int(cupcake[j]) ,但跨平台。

1 个答案:

答案 0 :(得分:1)

简短回答:不。

引用docs

  

此功能不会覆盖文件系统中已存在的实体;在这种情况下,link()将返回false并设置error()以返回RenameError。

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

顺便说一句,ln -f有或没有-s只是打电话给unlink()。这可以在BusyBox sources (line 128)中方便地看到,而在GNU coreutils中则有点混淆。