0
我試圖使用libarchive
庫重命名檔案的條目。 特別是我使用的功能archive_entry_set_pathname
。使用libarchive重命名檔案中的非空目錄
文件和空目錄正確改名,但不幸的是這是行不通的,如果一個目錄不爲空:不是被改名,新空目錄用新的名稱作爲目標目錄的兄弟姐妹,創建了有舊的名字。
相關的代碼片段:
...
while (archive_read_next_header(inputArchive, &entry) == ARCHIVE_OK) {
if (file == QFile::decodeName(archive_entry_pathname(entry))) {
// FIXME: not working with non-empty directories
archive_entry_set_pathname(entry, QFile::encodeName(newPath));
}
int header_response;
if ((header_response = archive_write_header(outputArchive, entry)) == ARCHIVE_OK) {
... // write the (new) outputArchive on disk
}
}
有什麼不對非空目錄?