?? copy--qt.c
字號:
//剛開始學習QT,寫了一個復制文件夾的小程序,調試已經成功。拿出來與大家分享一下,還請大蝦們批評指正里面不當之處。
#include <QDir>
#include <iostream>
#include <qtextcodec.h>
#include <qfile.h>
#include <qstring.h>
QDir dirfrom("/tmp/sdd") ; //源路徑
QDir dirto("/tmp/sdd1"); //目標路徑所在位置
int dirlist() //列出所有文件,并復制
{
QFile file;
QFileInfoList list = dirfrom.entryInfoList();
//std::cout <<"a1"<<std::endl;
for (int i = 0; i < list.size(); ++i)
{
QFileInfo fileInfo = list.at(i);
if ((fileInfo.fileName() != ".") && (fileInfo.fileName()!=".."))
{
if(fileInfo.isDir()) //判斷是否為目錄
{
dirfrom.setPath(dirfrom.path()+"/"+fileInfo.fileName()) ;
dirto.mkdir(dirto.path()+"/"+fileInfo.fileName());
dirto.setPath(dirto.path()+"/"+fileInfo.fileName());
dirlist(); //遞歸調用
dirfrom.cdUp();
dirto.cdUp();
}
else
{
QString s;
s = dirfrom.relativeFilePath(fileInfo.absoluteFilePath()); //取得文件相對目標目錄的相對路徑
file.copy(fileInfo.absoluteFilePath(),dirto.path()+"/"+s); //復制代碼
}
}
}
return 0;
}
int main(int argc, char *argv[])
{
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); //使中文支持正常
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
dirlist();
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -