bool isRenamed=QFile::rename(preRenamedName,renamedName);
isRenamed一直返回false.
试过rename方法的非静态版本也不行.
看qtdoc看不出有什么问题..
11 个解决方案
#1
补充下
preRnamedName和renamedName都是绝对路径的
preRnamedName和renamedName都是绝对路径的
#2
QFile::rename("D:\\11.txt","D:\\123.txt");
#3
preRenamedName "E:/cube.txt"
ranamedName "E:/cube123.txt"
这样不行?
QFile可以将/转换成\的吧
#4
注意书写的方法。。
#5
不知道楼主怎么用的,我用相对路径实验了一下已经成功了。
代码如下:
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("old.txt","new.txt");
qDebug()<<x;
return a.exec();
}
代码如下:
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("old.txt","new.txt");
qDebug()<<x;
return a.exec();
}
#6
下面是使用绝对路径的,也成功了:
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("D:/programing/renameFile/old.txt","D:/programing/renameFile/new.txt");
qDebug()<<x;
return a.exec();
}
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("D:/programing/renameFile/old.txt","D:/programing/renameFile/new.txt");
qDebug()<<x;
return a.exec();
}
#7
不是太理解...什么方法...
#8
我的差不多就是这样的,一直无法重命名...
#9
会不会是权限的问题呢!
#10
我有考虑这个问题,这方面是没有问题的
#11
我找到问题了,原因是我在重命名之前,文件已经在我程序的其他模块中被使用了,使用中的文件是不能重命名的(win平台下).
还是谢谢大家了
还是谢谢大家了
#1
补充下
preRnamedName和renamedName都是绝对路径的
preRnamedName和renamedName都是绝对路径的
#2
QFile::rename("D:\\11.txt","D:\\123.txt");
#3
preRenamedName "E:/cube.txt"
ranamedName "E:/cube123.txt"
这样不行?
QFile可以将/转换成\的吧
#4
注意书写的方法。。
#5
不知道楼主怎么用的,我用相对路径实验了一下已经成功了。
代码如下:
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("old.txt","new.txt");
qDebug()<<x;
return a.exec();
}
代码如下:
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("old.txt","new.txt");
qDebug()<<x;
return a.exec();
}
#6
下面是使用绝对路径的,也成功了:
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("D:/programing/renameFile/old.txt","D:/programing/renameFile/new.txt");
qDebug()<<x;
return a.exec();
}
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool x= QFile::rename("D:/programing/renameFile/old.txt","D:/programing/renameFile/new.txt");
qDebug()<<x;
return a.exec();
}
#7
不是太理解...什么方法...
#8
我的差不多就是这样的,一直无法重命名...
#9
会不会是权限的问题呢!
#10
我有考虑这个问题,这方面是没有问题的
#11
我找到问题了,原因是我在重命名之前,文件已经在我程序的其他模块中被使用了,使用中的文件是不能重命名的(win平台下).
还是谢谢大家了
还是谢谢大家了