QT中遍历一个文件夹并给文件夹中的每个文件改名字,如何构造遍历文件夹的迭代器,请高手指教啊
QFilefile(ui.lineEdit->text());if(file.open(QIODevice::ReadOnly|QIODevice::Text)){QTe...
QFile file(ui.lineEdit->text());
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream stream(&file);
QDir _dir(ui.lineEdit_2->text());
_dir.QDir::setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
_dir.QDir::setSorting(QDir::Size | QDir::Reversed);
QFileInfoList list=_dir.entryInfoList();
list<QString>::iterator it=list.begin();
while (it!=list.end())
{
QString _du=stream.QTextStream::readLine();
*it.QFile::rename(this->name,_du);
it++;
}
}
这是我自己写的,不行,文件夹的路径由
ui.lineEdit_2->text()这个获得。 展开
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream stream(&file);
QDir _dir(ui.lineEdit_2->text());
_dir.QDir::setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
_dir.QDir::setSorting(QDir::Size | QDir::Reversed);
QFileInfoList list=_dir.entryInfoList();
list<QString>::iterator it=list.begin();
while (it!=list.end())
{
QString _du=stream.QTextStream::readLine();
*it.QFile::rename(this->name,_du);
it++;
}
}
这是我自己写的,不行,文件夹的路径由
ui.lineEdit_2->text()这个获得。 展开
1个回答
展开全部
QDirIterator it("/etc", QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
// /etc/.// /etc/..// /etc/X11// /etc/X11/fs// ...
}
迭代器不用自己写 还有只是重命名文件名不用打开文件的 我没具体写 你先试试吧
while (it.hasNext()) {
qDebug() << it.next();
// /etc/.// /etc/..// /etc/X11// /etc/X11/fs// ...
}
迭代器不用自己写 还有只是重命名文件名不用打开文件的 我没具体写 你先试试吧
追问
这个迭代器,我试过了,那个it返回的是个对象,只能读信息,不能对文件进行修改啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询