0
是否可以使用Qt
更改符號鏈接的內容?更改符號鏈接的目標而不刪除
靜態的QFile::link
和非靜態的都返回false
如果鏈接名文件路徑已經存在。
我只想重定義符號鏈接。 ln -sf
的模擬,但跨平臺。
是否可以使用Qt
更改符號鏈接的內容?更改符號鏈接的目標而不刪除
靜態的QFile::link
和非靜態的都返回false
如果鏈接名文件路徑已經存在。
我只想重定義符號鏈接。 ln -sf
的模擬,但跨平臺。
簡短的回答:第
引述docs:
此功能將不會覆蓋在文件系統中已存在的實體;在這種情況下,link()將返回false並將error()設置爲返回RenameError。
該解決方案相當簡單:首先明確刪除鏈接,例如, G。在上使用QFile::remove()
鏈接,然後使用QFile::link()
作爲目標文件(就像您已經做過的那樣)。
順便說一句,ln -f
有沒有-s
除了調用unlink()
什麼也沒做。這可以方便地在BusyBox sources (line 128)中看到,而在GNU coreutils中則更加混淆。
這是什麼,測試我是否能夠識別技巧問題?如果你已經知道答案,並認爲對後續讀者來說很重要,你爲什麼不寫出自己的補充答案?如果你想要其他人回答它,你應該在你的問題中加上這一點,或者更好地創建一個新問題。 – Murphy