Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 递归地循环遍历目录并收集所有xml文件_C++_Qt - Fatal编程技术网

C++ 递归地循环遍历目录并收集所有xml文件

C++ 递归地循环遍历目录并收集所有xml文件,c++,qt,C++,Qt,我正试图通过给定的目录路径循环并重新收集所有xml文件。但是,由于某些原因,我的结果只返回部分文件路径,而不是全部文件路径。我不确定我在这件事上哪里出了问题 若你们建议我不要使用QT迭代器,也可以使用其他方法 它应该输出: Debugging starts FILE: "C:/Users/Martini/Desktop/trash/master/a.xml" FILE: "C:/Users/Martini/Desktop/trash/master/b.xml" FILE: "C:/Users/

我正试图通过给定的目录路径循环并重新收集所有xml文件。但是,由于某些原因,我的结果只返回部分文件路径,而不是全部文件路径。我不确定我在这件事上哪里出了问题

若你们建议我不要使用QT迭代器,也可以使用其他方法

它应该输出:

Debugging starts
FILE: "C:/Users/Martini/Desktop/trash/master/a.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/b.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/c.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/d.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/e.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/f.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/g.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/h.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/i.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/j.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/k.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/l.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_a/m.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_b/n.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_c/o.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_d/p.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_e/q.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_e/r.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_f/s.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_f/t.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/u.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/v.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/w.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/x.xml"
COUNT: 24
在循环中调用
it.next()
两次。因此,您将跳过每一个文件。换句话说,输出奇数位置的每个文件路径,收集偶数位置的每个文件路径

while(it.hasNext()) {
    qDebug() << "FILE" << it.next();
    filepaths.append(it.next());
}
while(it.hasNext()){

qDebug()你期望从你的程序中得到什么输出?你实际得到什么输出?更具体地说,没有返回的文件有哪些示例?我更新了问题以提供有关问题的详细信息。我注意到它返回文件夹路径,我如何编辑它以仅返回xml文件的文件路径?这是另一个问题。请询问new one.ha天哪,请饶了我吧。最初的问题是收集xml文件。我不是在提出一个全新的问题。我会想出来的,算了吧。
Debugging starts
FILE: "C:/Users/Martini/Desktop/trash/master/a.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/b.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/c.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/d.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/e.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/f.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/g.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/h.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/i.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/j.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/k.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/l.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_a/m.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_b/n.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_c/o.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_d/p.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_e/q.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_e/r.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_f/s.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_f/t.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/u.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/v.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/w.xml"
FILE: "C:/Users/Martini/Desktop/trash/master/folder_g/x.xml"
COUNT: 24
while(it.hasNext()) {
    qDebug() << "FILE" << it.next();
    filepaths.append(it.next());
}
while(it.hasNext()) {
    const auto& fn = it.next();
    qDebug() << "FILE" << fn;
    filepaths.append(fn);
}
while(it.hasNext()) {
    qDebug() << "FILE" << it.next();
    filepaths.append(it.filePath());
}