Task:
co
之前在学习《C++Primer Plus》的时候,照着程序清单和练习题,用VS新建了许多个工程。由于VS在编译和运行工程的时候,会产生一些临时文件夹和临时文件,如“.sdf”“Debug”等,非常占空间。现需要将这些临时文件夹和临时删除,以便打包压缩所有的有效工程代码。
由于有上百个工程,逐个手工删除效率很低,而且每次用VS打开工程又会重新生成这些临时文件,非常烦恼。故想编一个小工具软件,能够自动迭代文件目录,删除指定名称和类型的文件和文件夹。
Solution:
1,QDir、QFileInfo和QDirIterator (参考《An Introduction of Design Patterns in C++ with Qt》)
Qt提供了几种独立于平台的方法来遍历目录树。利用QDir和QFileInfo类,可以获得目录的内容列表以及关于每一个项的信息。
2,迭代器模式、递归函数(recursion)、向下迭代、文件过滤
注:参考
Qt之操作文件和文件夹
一、使用
QDirIterator遍历目录树,搜索指定文件
新建一个“main.cpp”文件,添加代码如下:
#include
QTextStream cout(stdout);
QTextStream cerr(stderr);
void listSdfFile(QString path) {