【发布时间】:2014-03-16 08:28:25
【问题描述】:
我正在制作一个小程序来帮助读取文件。
我有一个 for 循环来接收来自命令行的命令:
for (i = 1; argc > i; i++)
{
QString path = QDir::currentPath()+ "/" + QString(argv[i]);
QDir dir(path);
fileSearch(dir);
}
从那里我调用另一种方法,在该方法中查看每个文件/文件夹并获取大小以及它是文件还是文件夹。
void fileSearch(QDir dir)
{
foreach(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs ))
{
if (info.isFile())
{
qDebug() << info.path() << "is a file! its size is:" << info.size() << endl;
}
if (info.isDir())
{
qDebug() << info.path() << "is a directory! its size is:" << info.size() << endl;
fileSearch(info.filePath());
}
}
我希望它只读取相对路径,而不是读取整个路径。所以不要读:
home/john/desktop/project/currentproject/checkdirectory is a directory! its size is: 4096
home/john/desktop/project/currentproject/checkdirectory/test.txt is a file! its size is: 4
我希望它阅读:
checkdirectory/ is a directory! its size is: 4096
checkdirectory/test.txt is a file! its size is: 4
【问题讨论】:
标签: c++ qt relative-path absolute-path