QT中在全盘中寻找特定的文件
1.在全盘中寻找特定的文件 
<pre name="code" class="cpp">#include "mainwindow.h"
#include <QApplication>
#include <QFileSystemModel>
#include <QTreeView>
#include <QList>

typedef struct fileNamePath
{
	QString strFileName;
	QString strFilePath;
}sfileNamePath;
QList<sfileNamePath> g_sfnp;
//在strDir这个文件夹下面找到fileName这种文件
void findSpecialFile(QString strDir,QStringList fileName)
{
	QDir curdir(strDir);
	curdir.setFilter(QDir::AllEntries|QDir::NoDotAndDotDot);
	QFileInfoList curdirlist = curdir.entryInfoList();
	foreach(QFileInfo sfiles,curdirlist)
	{
		QString sfilesname=sfiles.fileName();
		if (sfiles.isDir()==true)
		{
			QString strFileName=sfiles.filePath();
			findSpecialFile(strFileName,fileName);
		}
		if (sfiles.isFile()==true)
		{
			//QList<sfileNamePath> scurDir=findSpecialFile(sfiles.fileName(),fileName);
			QString ext = "*."+sfiles.suffix();
			if (fileName.contains(ext,Qt::CaseInsensitive))
			{
				sfileNamePath snew;
				snew.strFileName=sfiles.fileName();
				snew.strFilePath=sfiles.filePath();
				g_sfnp.append(snew);
			}
		}
	}

	//return s;
}
int main(int argc, char *argv[])
{
	QApplication app(argc, argv);

	//先找到所有的ICE的名字与路径
	QFileInfoList DirInfoList=QDir::drives();//drives(), current(), home(), and root().
	QStringList fileName;
	fileName<<"*.ice";//<<"*.txt";
	foreach(QFileInfo fileInfo ,DirInfoList)
	{
		QString qStr=fileInfo.path();
		findSpecialFile(qStr,fileName);
	}
	int ncnt=g_sfnp.count();
	return app.exec();
}

图:



            
阅读更多
文章标签: QT
个人分类: QT学习
想对作者说点什么? 我来说一句

Qt关于文件文件夹的操作

1

hpjx1987 hpjx1987

2013-08-25 11:26:23

阅读数:15235

没有更多推荐了,返回首页

不良信息举报

QT中在全盘中寻找特定的文件

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭