日志
Qt读取指定文件夹下所有的子文件夹(不递归)
2016-08-01 17:38
该代码顺带增加了 新建名称后默认按数字顺序排序的功能。例如第一次新建文件应为“XX1"第二次为“XX2”,同时如果当前目录下没有“XX1”则会新建“XX1”而不是“XX3”。说白了就是 验证1、2、3、4、5...是否是连续的 少哪个建哪个
int num = -1; QDir dir("./channelconf"); dir.setFilter(QDir::Dirs|QDir::NoDot|QDir::NoDotAndDotDot);//去掉其中.和.. dir.setSorting(QDir::Name); if(!dir.exists()) { QMessageBox::information(this,"提示","新建通道路径不存在。"); return num; } QFileInfoList list = dir.entryInfoList(); for (int i = 0; i < list.size(); ++i) { QFileInfo fileInfo = list.at(i); QString name = fileInfo.baseName(); if(name.mid(0,4) == "新建通道") { QString NameNum = name.mid(4,name.length()); int num1 = NameNum.toInt(); //防止出现新建通道后面有非整数 if(num1 == 0) continue; //如果第一次循环不是1说明当前缺少1 if(num1 == 1) { num = num1; continue; } //如果当前取到的值和自加出来的值不相等则说明缺少当前自加的值 if(++num == num1) { continue; } else { break; } } } if(num == -1) { num = 0; } return num; |
下一篇: Qt删除目录中的文件和文件夹(递归)