2011-02-06 39 views

回答

21

當然,QDir::rename()下面是舊的Unix/POSIX調用這個重命名的傳統。

如果你想到一個文件的完整路徑,這是有道理的:底層inodes 只是得到分配一個不同的路徑/文件標籤。

+2

還有QFile :: rename()可能是有用的。 – dave 2017-05-10 00:14:10

7

你會使用QDir::rename()但要提防的特殊情況下,當rename()可能失敗:

大多數文件系統上,rename()失敗 只有oldName不存在,如果 newNameoldName不上 同一分區或者是否存在具有 新名稱的文件。但是, 還有其他一些原因,爲什麼 rename()可能會失敗。例如,在 至少有一個文件系統rename()失敗 如果newName指向一個打開的文件。

0

QUrlOperator::copy()是QDir :: rename()的替代品,它也可能適用於您。

+1

它看起來不錯,但似乎從qt4中刪除: QUrlOperator類不再是公共Qt API的一部分。它已更名爲Q3UrlOperator並轉移到Qt3Support。 在Qt 4應用程序中,您可以直接使用類似QFtp和QHttp的類在遠程主機上執行文件相關操作。 我不確定我是否應該使用它。 – sashoalm 2011-02-07 16:13:00