C++ 使用libarchive将目录添加到tarfile
我正在尝试将目录添加到我正在创建的tar存档中。存档已创建,但其中没有任何文件 下面是我使用libarchive的代码(directory是指向要涂焦油的目录的路径的QString)C++ 使用libarchive将目录添加到tarfile,c++,qt,libarchive,C++,Qt,Libarchive,我正在尝试将目录添加到我正在创建的tar存档中。存档已创建,但其中没有任何文件 下面是我使用libarchive的代码(directory是指向要涂焦油的目录的路径的QString) 您的代码逻辑不正确。您正在尝试读取目录,而您应该读取目录中的文件。。。您需要这样的内容来迭代文件: QDirIterator it("/etc", QDirIterator::Subdirectories); while (it.hasNext()) qDebug() << it.next();
您的代码逻辑不正确。您正在尝试读取目录,而您应该读取目录中的文件。。。您需要这样的内容来迭代文件:
QDirIterator it("/etc", QDirIterator::Subdirectories);
while (it.hasNext())
qDebug() << it.next();
构建并运行
您的代码逻辑不正确。您正在尝试读取目录,而您应该读取目录中的文件。。。您需要这样的内容来迭代文件:
QDirIterator it("/etc", QDirIterator::Subdirectories);
while (it.hasNext())
qDebug() << it.next();
构建并运行
您的代码逻辑不正确。您正在尝试读取目录,而您应该读取目录中的文件。。。您需要这样的内容来迭代文件:
QDirIterator it("/etc", QDirIterator::Subdirectories);
while (it.hasNext())
qDebug() << it.next();
构建并运行
您的代码逻辑不正确。您正在尝试读取目录,而您应该读取目录中的文件。。。您需要这样的内容来迭代文件:
QDirIterator it("/etc", QDirIterator::Subdirectories);
while (it.hasNext())
qDebug() << it.next();
构建并运行
你可以试试我的图书馆, 这是非阻塞和单线程 下面是压缩目录(默认情况下递归添加)的简单代码
#包括
#包括
#包括
int main(int argc,字符**argv){
QCore应用程序应用程序(argc、argv);
磁盘压缩机(“测试7z”);
Compressor.addFiles(“yourdirectocompress”);//添加目录或文件。
QObject::connect(&Compressor,&QArchive::DiskCompressor::finished,[&](){
qDebug()您可以尝试我的库,
这是非阻塞和单线程
下面是压缩目录(默认情况下递归添加)的简单代码
#包括
#包括
#包括
int main(int argc,字符**argv){
QCore应用程序应用程序(argc、argv);
磁盘压缩机(“测试7z”);
Compressor.addFiles(“yourdirectocompress”);//添加目录或文件。
QObject::connect(&Compressor,&QArchive::DiskCompressor::finished,[&](){
qDebug()您可以尝试我的库,
这是非阻塞和单线程
下面是压缩目录(默认情况下递归添加)的简单代码
#包括
#包括
#包括
int main(int argc,字符**argv){
QCore应用程序应用程序(argc、argv);
磁盘压缩机(“测试7z”);
Compressor.addFiles(“yourdirectocompress”);//添加目录或文件。
QObject::connect(&Compressor,&QArchive::DiskCompressor::finished,[&](){
qDebug()您可以尝试我的库,
这是非阻塞和单线程
下面是压缩目录(默认情况下递归添加)的简单代码
#包括
#包括
#包括
int main(int argc,字符**argv){
QCore应用程序应用程序(argc、argv);
磁盘压缩机(“测试7z”);
Compressor.addFiles(“yourdirectocompress”);//添加目录或文件。
QObject::connect(&Compressor,&QArchive::DiskCompressor::finished,[&](){
qDebug()为什么不使用来自Qt世界的存档库,比如Quazip或KDE的存档库?另外,您需要目录.toLocal8Bit()+“.tar”
,而不是(目录+”.tar”)。toLocal8Bit()
。此外,我无法想象为什么不使用QFile进行读取。为什么不使用来自Qt世界的存档库,如Quazip或KDE的存档库?此外,您需要目录.toLocal8Bit()+“.tar”
而不是(目录+”.tar”)。toLocal8Bit()
。此外,我无法想象为什么不使用QFile进行读取。为什么不使用来自Qt世界的存档库,如Quazip或KDE的存档库?此外,您需要目录.toLocal8Bit()+“.tar”
而不是(目录+”.tar”)。toLocal8Bit()
。此外,我无法想象为什么不使用QFile进行读取。为什么不使用来自Qt世界的存档库,如Quazip或KDE的存档库?此外,您需要目录.toLocal8Bit()+“.tar”
而不是(目录+”.tar”)。toLocal8Bit()
。此外,我无法想象您为什么不使用QFile进行读取。
qmake && make && ./main
#include <QCoreApplication>
#include <QDebug>
#include <QArchive>
int main(int argc, char** argv) {
QCoreApplication app(argc, argv);
QArchive::DiskCompressor Compressor("test.7z");
Compressor.addFiles("YourDirectoryToCompress"); // Add directory or file.
QObject::connect(&Compressor , &QArchive::DiskCompressor::finished, [&]() {
qDebug() << "Finished!";
app.quit();
});
Compressor.start();
return app.exec();
}